今天看到园友心白水撰写的《简单翻译工具--必应字典第三方API使用方法》,感觉很不错,所以用Python也写了一个。源码如下:

 import urllib.request
import json serviceurl='http://xtk.azurewebsites.net/BingDictService.aspx?Word=' while True:
word = input('请输入英文单词: ')
if len(word) < 1 :
break
url = serviceurl + word
try:
uh = urllib.request.urlopen(url)
except:
print('API错误,请重试')
continue
data = uh.read()
try:
js = json.loads(data.decode('utf-8'))
except:
js = '' if ( js["pronunciation"] == None):
print("未查到匹配单词") else:
print("美音:[" ,js["pronunciation"]["AmE"],
          "] 英音:[",js["pronunciation"]["BrE"],"]\n")
for de in js["defs"]:
print(de["pos"],de["def"])
print("\n例句")
for sam in js["sams"]:
print("en:", sam["eng"])
print("中文:", sam["chn"],"\n")
continue

程序运行的结果如下:

请输入英文单词: python
美音:[ 'paɪθɑn ] 英音:[ 'paɪθ(ə)n ]

n. 蟒;蚺蛇
Web 蟒蛇;巨蟒;派森

例句
en: Serpent blood spurted through the air, and in a minute, the huge python was dead.
中文: 蛇血在空中喷射出来,很快,大蟒蛇就死了。

en: Suggests that Python Web services implementations were not the only ones having trouble with the air fare quote service.
中文: 指出,PythonWeb服务实现并不是惟一使用机票报价服务有困难的。

en: Another idea is to require python owners to have their pets fitted with microchips.
中文: 另一个想法是让养蛇人给他们的宠物配上微芯片。

en: A practice millennium python seeing, changes into an elegant young man, spits into the borneol in his mouth.
中文: 一修炼千年的巨蟒看见,化为一翩翩少年,将冰片吐入他口中。

en: Participants reacted to the meaning threat implicit in Python by handing out a larger notional punishment to a lawbreaker.
中文: 参与者的反应是在巨蟒中一个具有隐含意义的威胁派由一个的更大名义让处罚者进行处罚。

en: Quite a number of Python programmers have recommended Spark to me.
中文: 很多Python程序员都向我推荐Spark。

en: Zhu went out to investigate, and there, a few paces from his door, he saw a huge python!
中文: 祝出去查看,就在门口几步远的地方,他看到了一条巨蟒!

en: The balls disappeared, and the couple found a lumpy-looking carpet python nearby.
中文: 球不见了,夫妇却发现在附近有一条身形凹凸不平的地毯蟒。

en: So, in a second study they used a description of a Monty Python sketch which participants weren't told was supposed to be a joke.
中文: 因此,在第二个实验中,他们使用了一个描述巨蟒的素描,而参与者也没有认为这应该是一个玩笑。

en: The scripts directory contains python scripts used to install and uninstall the application.
中文: 脚本目录包含用于安装和卸载应用程序的python脚本。

bing的简单英文字典工具的更多相关文章

  1. [theWord] 一种英文字典的基类设计

    theWord --- 一种英文字典的基类设计 使用场景 想写一个应用,来记录自己背单词时候,对每个单词的记忆状况之类的东西.至于为什么做这个,试过了一些背单词软件,并不觉得好用,自己做一个吧. 那么 ...

  2. 用Qt写软件系列三:一个简单的系统工具(上)

    导言 继上篇<用Qt写软件系列二:QIECookieViewer>之后,有一段时间没有更新博客了.这次要写的是一个简单的系统工具,需求来自一个内部项目.功能其实很简单,就是查看当前当前系统 ...

  3. Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)

    Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...

  4. 利用Runtime实现简单的字典转模型

    前言 我们都知道,开发中会有这么一个过程,就是将服务器返回的数据转换成我们自己定义的模型对象.当然服务器返回的数据结构有xml类型的,也有json类型的.本文只讨论json格式的. 大家在项目中一般是 ...

  5. GO实现简单(命令行)工具:sftp,文檔压解,RDS备份,RDS备份下载

    GO实现简单(命令行)工具:sftp,文檔压解,RDS备份,RDS备份下载 轉載請註明出處:https://www.cnblogs.com/funnyzpc/p/11721978.html 内容提要: ...

  6. Python简单遍历字典及删除元素的方法

    Python简单遍历字典及删除元素的方法 这篇文章主要介绍了Python简单遍历字典及删除元素的方法,结合实例形式分析了Python遍历字典删除元素的操作方法与相关注意事项,需要的朋友可以参考下 具体 ...

  7. 基于node实现一个简单的脚手架工具(node控制台交互项目)

    实现控制台输入输出 实现文件读写操作 全原生实现一个简单的脚手架工具 实现vue-cli2源码 一.实现控制台输入输出 关于控制台的输入输出依然是基于node进程管理对象process,在proces ...

  8. 用Python做一个简单的翻译工具

    编程本身是跟年龄无关的一件事,不论你现在是十四五岁,还是四五十岁,如果你热爱它,并且愿意持续投入其中,必定会有所收获. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过 ...

  9. [.NET] WebApi 生成帮助文档及顺便自动创建简单的测试工具

    ==========最终的效果图========== ==========下面开始干活:生成帮助文档========== 一.创建 WebApi 项目 二.找到 HelpPageConfig.cs 并 ...

随机推荐

  1. 原子类java.util.concurrent.atomic.*原理分析

    原子类java.util.concurrent.atomic.*原理分析 在并发编程下,原子操作类的应用可以说是无处不在的.为解决线程安全的读写提供了很大的便利. 原子类保证原子的两个关键的点就是:可 ...

  2. [每日一记] Python报错 IndentationError: unexpected indent

    IndentationError: unexpected indent 代码缩进出现错误 今天这个报错的原因是,早些时候的代码里Tab和空格混起来用了,,,[不是我...是编辑器的锅 不过我已经把Su ...

  3. Linux kernel 文件夹说明

    Linux 内核代码的目录结构 arch: 包含和硬件体系相关的的代码,每种硬件平台占一个相应的目录,如i386,arm, arm64, powerpc,mips等. block: 块设备驱动程序I/ ...

  4. Android Studio插件:GsonFromat

    这个Android Studio插件可以根据JSONObject格式的字符串,自动生成实体类参数. 具体见:https://github.com/zzz40500/GsonFormat

  5. .htaccess中Apache配置详解

    1.<IfDefine> 指令 说明 封装一组只有在启动时当测试结果为真时才生效的指令 语法 <IfDefine [!]parameter-name> ... </IfD ...

  6. WebService -- Java 实现之 CXF ( 使用Spring添加拦截器)

    最重要的就是在ApplicationContext.xml下面添加配置 <!-- service provider --> <jaxws:endpoint implementor=& ...

  7. Anaconda 用于科学计算的 Python 发行版

    用于科学计算的 Python 发行版: 1.Anaconda  https://www.continuum.io/    公司continuum.  有商业版本. Anaconda is the le ...

  8. Java 基础高级2 网络编程

    1.协议的概念:通信双方事先约定好的通信规则 2七层网络通信协议:应用成,表示层,会话层,传输层,网络层,数据链路层 3.TCP/IP协议:点对点通信,三层握手,安全有保证 4.UDP协议;广播协议, ...

  9. SQL(横表和纵表)行列转换,PIVOT与UNPIVOT的区别和使用方法举例,合并列的例子

    使用过SQL Server 2000的人都知道,要想实现行列转换,必须综合利用聚合函数和动态SQL,具体实现起来需要一定的技巧,而在SQL Server 2005中,使用新引进的关键字PIVOT/UN ...

  10. js 实时监听input中值变化

    注意:用到了jquery需要引入jquery.min.js. 需求: 1.每个地方需要分别打分,总分为100; 2.第一个打分总分为40; 3.第二个打分总分为60. 注意:需要判断null.&quo ...