youdao

简介

这是一个基于Python 在控制台下查单词的小工具。

这个小程序是受https://github.com/Flowerowl/ici 启发, 用requests 库和有道的API 重新实现的,后期加上了数据库、有道Web版、有道翻译、单词发音、Stardict 的支持。

从0.3.0开始添加了对Stardict 的支持(使用pystardict + C扩展加快查询速度)。默认情况下使用Stardict查询单词,如果没有找到则使用web版有道词典。

支持 单词发音(须要联网从有道获取,会缓存已经获取的mp3文件);支持 有道翻译,支持使用有道API查词;自动使用sqlite 数据库保存已经查询过的单词数据。

使用 Stardict

下载词典

Stardict 是一个跨平台的国际词典软件,提供大量词库使用(可以去 http://pan.baidu.com/s/1dD1mIRJ 下载,推荐21世纪双语词典,当然也可以从网上找,但是不要下太多不然查询速度是个问题= =)

解压

新建一个文件夹比如/home/chenlong/.dict_youdao/stardict,将下载的词典解压到该目录下(如下图)。

在程序中设置:

使用命令 yd -s "/home/chenlong/.dict_youdao/stardict"

成功后输出 stardict 路径设置成功: /home/chenlong/.dict_youdao/stardict

尽情使用stardict 吧

使用有道词典

可能你不喜欢stardict(版权问题、颜色单一),那么可以按照上面的方法将stardict 的目录设置为空或者一个没有词典的空目录(一定是 空目录)。此时,程序将默认使用有道Web 版获取单词解释,对于没有解释的单词将自动使用有道翻译。

设置完成后使用yd keyword查词。

单词发音

使用命令 yd -v keyword会在查询单词后获取单词发音,下载的单词发音保存在~/.dict_youdao/voice下,采用系统默认播放器播放。

在Linux 下推荐使用Clementine 播放器,播放时不会弹出新窗口。另外,查询单词后,使用yd -v 会自动获取上一个查询单词的发音。

管理缓存单词

查询过的单词都使用sqlite 数据库保存,数据库文件在~/.dict_youdao

yd -l :列出数据库中的单词以及查询次数。

yd -c :清空数据库以及保存的发音。

yd -d keyword :删除某个单词

使用帮助

yd [-a] [-n] [-l] [-c] [-v] [-d word] [-y] [-s path] [--help] word

[-a] 使用API 而不是解析网页获取结果

[-n] 强制重新获取, 不管数据库中是否已经保存

[-l] 列出数据库中保存的所有单词

[-c] 清空数据库

[-v] 获取单词发音, 单独使用 yd -v 可以获取上一个查询单词的发音

[-d word] 删除数据库中某个单词

[-y] 优先使用有道词典

[-s path] 设置stardict词典路径

[--help] 显示帮助信息

安装

由于使用了C扩展,安装过程中需要vc 或gcc

Ubuntu(Linux):

sudo python setup.py install

或者

sudo pip install youdao

Windows:

由于Windows 下控制台下的编码问题,推荐使用cmder,并在cmder/vendor/init.bat 的最后加上

@chcp 65001 > nul

@set PYTHONIOENCODING=utf-8

更新历史

0.3.1 bug fixed

0.3.0 增加对stardict 的支持,使用pystardict,为加速查询编写了查询索引部分的C 扩展

0.2.3 修复了使用api无法显示新单词结果的问题

0.2.1 修复了无法显示已查询的单词的bug

0.2.0 重新组织了代码结构以及数据库字段, 所以将丢失以前保存的单词

0.1.5 添加获取单词发音的功能

0.1.4 添加删除数据库中保存的单词的功能, 添加帮助说明

0.1.3 抓取过的单词使用sqlite保存

0.1.2 增加抓取web版有道词典页面的方法查词, 并默认使用这种方法. 可以通过 -a 选项使用api查词.

0.1.1 改变查词方法为 yd keyword

0.1.0 完成基本功能, 使用命令 youdao keyword 查词.

python用法查询软件_GitHub - ahahahahawd/youdao: 基于python 的命令行下查词工具,使用有道api...相关推荐

  1. python3.8.2numpy版本,如何查看安装python和numpy的版本,numpy版本的选择,命令行下查看pyth...

    如何查看安装python和numpy的版本,numpy版本的选择,命令行下查看pyth 命令行下查看python和numpy的版本和安装位置 1.查看python版本 方法一: python -V 注 ...

  2. python计算商品总价_GitHub - ideaOzy/data_analysis: 基于Python的南京二手房数据采集及可视化分析...

    基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...

  3. python用法查询软件_如何使用Python应用软件实现车牌检测和识别

    1.车牌检测和识别项目介绍 车牌的检测和识别的应用非常广泛,比如交通违章车牌追踪,小区或地下车库门禁.在对车牌识别和检测的过程中,因为车牌往往是规整的矩形,长宽比相对固定,色调纹理相对固定,常用的方法 ...

  4. python人脸考勤系统_GitHub - jykcc/python-opencv: 基于python opencv人脸识别的员工考勤系统...

    项目及作者说明 一个基于 Opencv.dlib 人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,Python 学习期间. 开源版及商业版说明 开源版 商业版 人脸录入 ...

  5. python怎样使用各个日期赤纬_基于Python的天文软件命令行界面设计与实现

    计算机软件技术的不断发展,推动了人机交互技术的长足进步.从传统的命令行(Command Line Interface,CLI),到图形用户界面(Graphical User Interface,GUI ...

  6. python用法查询笔记(二)—— 面向对象

    python用法查询笔记(二)-- 面向对象 类 1. 创建类 2. 把类中的变量传递给类中的函数 3. 给类方法传参 4. 类的实例化 5. 类的实例化 6. 重写类方法 7. 初始化函数 8. 继 ...

  7. 【优秀课设】武汉光迅科技22校招笔试Python题改进(增加GUI)——基于Python的125温度传感器模块数据处理

    武汉光迅科技22校招笔试Python题改进(增加GUI) 基于Python的125温度传感器模块数据处理 原本的基础代码: blog.csdn.net/weixin_53403301/article/ ...

  8. python论坛系统源码_十个基于Python的BBS论坛类开源web框架汇总(附源码地址

    1.LBForum LBForum是用django开发的论坛系统,LBForum主要注重部署的方便性和易用性,功能方面目前还比较简单. LBForum的开发尽量遵照Django可复用app原则,因此即 ...

  9. python识别ppt文件格式 ——(专栏:基于python编写简单office阅卷程序③)

    ● 研二在读学生,非工科非计算机专业,故代码简陋初级勿喷,本文仅为记录和快乐分享. ○ 感谢肯定,感谢点赞收藏分享,转载请注明本页出处即可. ____Ⓙ即刻@王昭没有君 本文仅为笔者摸索总结-欢迎订正 ...

最新文章

  1. python秒转换成小时分钟秒_1小时3分59秒!双11天猫交易额超1000亿元
  2. 浅谈python_浅谈Python(二)
  3. SQL中Case和convert()
  4. (DAG+固定终点的最长路和最短路)硬币问题
  5. ElasticSearch映射Mapping
  6. Springboot 关于日期时间格式化处理方式总结
  7. python自定义函数的关键字_python学习之--自定义函数:
  8. Bing Maps进阶系列六:使用Silverlight剪切(Clip)特性实现Bing Maps的迷你小地图
  9. Slava and tanks(CodeForces - 877C)
  10. mybatis mysql 调用存储过程 多个返回值_Mysql面试知识点总结(进阶篇)
  11. 卡巴斯基KEY官方生成器
  12. python视频截图
  13. Pr 音频效果参考:滤波器与 EQ
  14. 望远大光圈拍风景的魅力--不破不立系列(1)
  15. 如何解决WARNING C4996问题
  16. ext2.2全选反选修复
  17. Netty channelRegistered\ChannelActive---源码分析
  18. 曾国藩经典人生哲理语录
  19. 性能优化之YUICompressor压缩JS、CSS
  20. 前端类库之jQuery

热门文章

  1. C++ opencv(Yolov4-tiny)
  2. 集合——离散数学part 1
  3. 51单片机按键控制流水灯
  4. hdu 6681 2019 杭电多校九1002 Rikka with Cake(扫描线+树状数组)
  5. 51cto MySQL OCP认证精品班5期视频
  6. java 分布式缓存 开源_分布式缓存开源框架Flasher介绍-Go语言中文社区
  7. Unity中绘制抛物线
  8. GitHub开源:Python跨平台网络媒体聚合应用
  9. 华为荣耀2s设置虚拟服务器教程,华为荣耀路由器2S怎么设置步骤
  10. docker 入门 —— docker容器常用的操作命令