欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用python實現(xiàn)命令行有道詞典的方法示例

 更新時間:2017年01月31日 09:01:11   作者:PegasusWang  
平常都是用終端敲, 有時候不會的詞語也懶得打開詞典了,干脆搞了個簡單的查詞命令。下面這篇文章主要給大家介紹了利用python實現(xiàn)命令行有道詞典的方法示例,需要的朋友可以參考借鑒,一起來看看吧。

前言

由于一直用Linux系統(tǒng),對于詞典的支持特別不好,對于我這英語渣渣的人來說,當(dāng)看英文文檔就一直卡殼,之前用慣了有道詞典,感覺很不錯,雖然有網(wǎng)頁版的但是對于全站英文的網(wǎng)頁來說并不支持。索性自己實現(xiàn)一個,基于Python編寫的小工具實現(xiàn)有道詞典,思路也很簡單,直接調(diào)用有道的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, 然后加上可執(zhí)行權(quán)限chmod a+x youdao

拷貝到/usr/local/bin。 cp youdao /usr/local/bin

使用的時候把要翻譯的單詞作為第一個命令行參數(shù),要是句子用引號括起來。

總結(jié)

以上就是這篇問文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • 如何將python腳本打包為exe可執(zhí)行文件

    如何將python腳本打包為exe可執(zhí)行文件

    這篇文章主要介紹了如何將python腳本打包為exe可執(zhí)行文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Python對象屬性自動更新操作示例

    Python對象屬性自動更新操作示例

    這篇文章主要介紹了Python對象屬性自動更新操作,結(jié)合實例形式對比分析了Python對象屬性自動更新的原理,并改進了屬性互聯(lián)操作實現(xiàn)方法,需要的朋友可以參考下
    2018-06-06
  • pytorch簡單實現(xiàn)神經(jīng)網(wǎng)絡(luò)功能

    pytorch簡單實現(xiàn)神經(jīng)網(wǎng)絡(luò)功能

    這篇文章主要介紹了pytorch簡單實現(xiàn)神經(jīng)網(wǎng)絡(luò),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • python簡單實現(xiàn)最大似然估計&scipy庫的使用詳解

    python簡單實現(xiàn)最大似然估計&scipy庫的使用詳解

    這篇文章主要介紹了python簡單實現(xiàn)最大似然估計&scipy庫的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python字典各式各樣操作從基礎(chǔ)到高級全面示例詳解

    python字典各式各樣操作從基礎(chǔ)到高級全面示例詳解

    在Python中,字典(Dictionary)是一種強大而靈活的數(shù)據(jù)結(jié)構(gòu),它允許你存儲和檢索鍵值對,本文將深入探討Python中各式各樣的字典操作,包括基本操作、高級操作以及一些實用的技巧,通過全面的示例代碼,將展示如何充分發(fā)揮字典在Python編程中的優(yōu)勢
    2023-12-12
  • Python實現(xiàn)自定義包的實例詳解

    Python實現(xiàn)自定義包的實例詳解

    這篇文章主要介紹了實現(xiàn)自定義包的方法,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • pytest解讀一次請求多個fixtures及多次請求

    pytest解讀一次請求多個fixtures及多次請求

    這篇文章主要為大家介紹了一次請求多個fixtures,以及fixtures被多次請求的pytest官方解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Python如何利用struct進行二進制文件或數(shù)據(jù)流

    Python如何利用struct進行二進制文件或數(shù)據(jù)流

    這篇文章主要介紹了Python如何利用struct進行二進制文件或數(shù)據(jù)流問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • python-opencv中的cv2.inRange函數(shù)用法說明

    python-opencv中的cv2.inRange函數(shù)用法說明

    這篇文章主要介紹了python-opencv中的cv2.inRange函數(shù)用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Python爬蟲利器之PhantomJS詳解

    Python爬蟲利器之PhantomJS詳解

    這篇文章主要介紹了Python爬蟲利器之PhantomJS詳解,PhantomJS是一個基于WebKit的無頭瀏覽器,它沒有圖形界面,但是它可以像傳統(tǒng)的瀏覽器一樣訪問web頁面,并返回已呈現(xiàn)的內(nèi)容,PhantomJS是一種命令行工具,可以用它來測試和爬取Web頁面,需要的朋友可以參考下
    2023-09-09

最新評論