利用python實(shí)現(xiàn)命令行有道詞典的方法示例
前言
由于一直用Linux系統(tǒng),對(duì)于詞典的支持特別不好,對(duì)于我這英語渣渣的人來說,當(dāng)看英文文檔就一直卡殼,之前用慣了有道詞典,感覺很不錯(cuò),雖然有網(wǎng)頁版的但是對(duì)于全站英文的網(wǎng)頁來說并不支持。索性自己實(shí)現(xiàn)一個(gè),基于Python編寫的小工具實(shí)現(xiàn)有道詞典,思路也很簡(jiǎn)單,直接調(diào)用有道的api,解析下返回的json就ok了。
只用到了python原生的庫(kù),支持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('翻譯出錯(cuò),請(qǐng)輸入合法單詞')
def main():
try:
s = sys.argv[1]
except IndexError:
s = 'python'
parse(fetch(s))
if __name__ == '__main__':
main()
使用
將上面代碼粘貼后命名為youdao.py
修改名稱mv youdao.py youdao, 然后加上可執(zhí)行權(quán)限chmod a+x youdao
拷貝到/usr/local/bin。 cp youdao /usr/local/bin
使用的時(shí)候把要翻譯的單詞作為第一個(gè)命令行參數(shù),要是句子用引號(hào)括起來。

總結(jié)
以上就是這篇問文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
python使用fastapi實(shí)現(xiàn)多語言國(guó)際化的操作指南
本文介紹了使用Python和FastAPI實(shí)現(xiàn)多語言國(guó)際化的操作指南,包括多語言架構(gòu)技術(shù)棧、翻譯管理、前端本地化、語言切換機(jī)制以及常見陷阱和最佳實(shí)踐,需要的朋友可以參考下2025-02-02
python異常處理之try finally不報(bào)錯(cuò)的原因
這篇文章主要介紹了python異常處理之try finally不報(bào)錯(cuò)的原因,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
python pandas模糊匹配 讀取Excel后 獲取指定指標(biāo)的操作
這篇文章主要介紹了python pandas模糊匹配 讀取Excel后 獲取指定指標(biāo)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Python 中的 with open文件操作的最佳實(shí)踐
在 Python 中,with open() 提供了一個(gè)簡(jiǎn)潔而安全的方式來處理文件操作,它不僅能確保文件在操作完成后自動(dòng)關(guān)閉,還能處理文件操作中的異常,避免資源泄漏,本文給大家介紹Python 中的 with open文件操作的最佳實(shí)踐,感興趣的朋友一起看看吧2025-04-04
pycharm與jupyter?lab/notebook結(jié)合使用方式
這篇文章主要介紹了pycharm與jupyter?lab/notebook結(jié)合使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
python for 循環(huán)獲取index索引的方法
今天小編就為大家分享一篇python for 循環(huán)獲取index索引的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02
Python+OpenCV圖像處理之直方圖統(tǒng)計(jì)
直方圖就是對(duì)圖像的另外一種解釋,它描述了整幅圖像的灰度分布。通過直方圖我們可以對(duì)圖像的亮度、灰度分布、對(duì)比度等有了一個(gè)直觀的認(rèn)識(shí)。本文將為大家詳細(xì)介紹一下如何通過OpenCV實(shí)現(xiàn)直方圖統(tǒng)計(jì),感興趣的可以了解一下2021-12-12

