利用python实现命令行有道词典的方法示例


Posted in Python onJanuary 31, 2017

前言

由于一直用Linux系统,对于词典的支持特别不好,对于我这英语渣渣的人来说,当看英文文档就一直卡壳,之前用惯了有道词典,感觉很不错,虽然有网页版的但是对于全站英文的网页来说并不支持。索性自己实现一个,基于Python编写的小工具实现有道词典,思路也很简单,直接调用有道的api,解析下返回的json就ok了。

只用到了python原生的库,支持python2和python3.

示例代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# API key:273646050
# keyfrom:11pegasus11

import json
import sys

try: # py3
 from urllib.parse import urlparse, quote, urlencode, unquote
 from urllib.request import urlopen
except: # py2
 from urllib import urlencode, quote, unquote
 from urllib2 import urlopen


def fetch(query_str=''):
 query_str = query_str.strip("'").strip('"').strip()
 if not query_str:
 query_str = 'python'

 print(query_str)
 query = {
 'q': query_str
 }
 url = 'http://fanyi.youdao.com/openapi.do?keyfrom=11pegasus11&key=273646050&type=data&doctype=json&version=1.1&' + urlencode(query)
 response = urlopen(url, timeout=3)
 html = response.read().decode('utf-8')
 return html


def parse(html):
 d = json.loads(html)
 try:
 if d.get('errorCode') == 0:
  explains = d.get('basic').get('explains')
  for i in explains:
  print(i)
 else:
  print('无法翻译')

 except:
 print('翻译出错,请输入合法单词')


def main():
 try:
 s = sys.argv[1]
 except IndexError:
 s = 'python'
 parse(fetch(s))


if __name__ == '__main__':
 main()

使用

将上面代码粘贴后命名为youdao.py

修改名称mv youdao.py youdao, 然后加上可执行权限chmod a+x youdao

拷贝到/usr/local/bincp youdao /usr/local/bin

使用的时候把要翻译的单词作为第一个命令行参数,要是句子用引号括起来。

利用python实现命令行有道词典的方法示例

总结

以上就是这篇问文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Python 相关文章推荐
Python常用模块用法分析
Sep 08 Python
python3中bytes和string之间的互相转换
Feb 09 Python
python 全局变量的import机制介绍
Sep 07 Python
Python使用Matplotlib实现Logos设计代码
Dec 25 Python
python版本单链表实现代码
Sep 28 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
Oct 15 Python
python3使用pandas获取股票数据的方法
Dec 22 Python
在Pycharm中将pyinstaller加入External Tools的方法
Jan 16 Python
Python字典循环添加一键多值的用法实例
Jan 20 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 Python
Django自定义列表 models字段显示方式
Apr 03 Python
python 实现汉诺塔游戏
Nov 28 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
Jan 28 #Python
python 编程之twisted详解及简单实例
Jan 28 #Python
详解python之简单主机批量管理工具
Jan 27 #Python
Python下的Softmax回归函数的实现方法(推荐)
Jan 26 #Python
在Django同1个页面中的多表单处理详解
Jan 25 #Python
Python heapq使用详解及实例代码
Jan 25 #Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
Jan 24 #Python
You might like
PHP ajax 分页类代码
2008/11/13 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
2013/07/03 PHP
PHP实现自动登入google play下载app report的方法
2014/09/23 PHP
PHP微信支付实例解析
2016/07/22 PHP
PHP实现路由映射到指定控制器
2016/08/13 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
PHP基于openssl实现非对称加密代码实例
2020/06/19 PHP
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
jquery获取html元素的绝对位置和相对位置的方法
2014/06/20 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
angularjs点击图片放大实现上传图片预览
2017/02/24 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
Python 随机生成中文验证码的实例代码
2013/03/20 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
挪威手表购物网站:Klokker
2016/09/19 全球购物
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
悬挂训练绳:TRX
2017/12/14 全球购物
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
美容院经理岗位职责
2014/04/03 职场文书
大三学习计划书范文
2014/05/02 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
双拥工作宣传标语
2014/06/26 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android