資源簡介
ubuntu下的劃詞工具實時翻譯單詞翻譯漢譯英和英譯漢包括句子,支持將單詞添加到本地,在主目錄ydword文件夾內,安裝簡單,解壓后執行sudo sh install.sh即可
代碼片段和文件信息
#!/usr/bin/python?
#-*-?encoding:?utf-8?-*-?
“““
#?作者:?vincent
#?時間:?2017-7-9
#?文件:?translate.py
“““
import?sys
import?urllib2
import?urllib
import?json
import?argparse
from?argparse?import?RawTextHelpFormatter
reload(sys)
sys.setdefaultencoding(‘utf-8‘)
#?查詢函數
def?queryTranslate(queryStr):
????youdao_url_json?=“http://fanyi.youdao.com/openapi.do?keyfrom=“?\
????????????+“mlovez-dev&key=1341364669&type=data&doctype=json&version=1.1&“
????resultJson?=““?
????try:
????????response?=urllib2.urlopen(youdao_url_json?\
????????????????+urllib.urlencode({‘q‘:queryStr}))
????????resultJson?=response.read()
????except?Exception?e:
????????print?“-->?Exception?catched?:“
????????print?e
????return?resultJson
????
#?主函數
def?main(words)?:
????KEY_ERRORCODE?=‘errorCode‘
????KEY_BASIC?=‘basic‘
????KEY_PHONETIC?=‘phonetic‘
????KEY_EXPLAINS?=‘explains‘
????KEY_TRANSLATION?=‘translation‘
????
#????print?“查詢:\n????“?+words
????jsonObj?=json.loads(queryTranslate(words))
????if?jsonObj?!=None?and?jsonObj.has_key(KEY_ERRORCODE)?\
????????????and?jsonObj[KEY_ERRORCODE]?==0?:
????????if?jsonObj.has_key(KEY_BASIC)?:
????????????if?jsonObj[KEY_BASIC].has_key(KEY_PHONETIC)?:
????????????????print?u“音標:\n????[“?\
????????????????????????+jsonObj[KEY_BASIC][KEY_PHONETIC]?+“]“
????????????if?jsonObj[KEY_BASIC].has_key(KEY_EXPLAINS)?:
????????????????print?u“詞典:“?
????????????????for?v?in?jsonObj[KEY_BASIC][KEY_EXPLAINS]?:
????????????????????print?“????“?+v
????????if?jsonObj.has_key(KEY_TRANSLATION)?:
????????????print?u“翻譯:“
????????????for?t?in?jsonObj[KEY_TRANSLATION]?:
????????????????print?“????“?+t
????else?:
????????print?words
????????print?u“沒有相應的翻譯?...“
if?__name__?==?“__main__“?:
????#?命令行參數解釋器
????helpStr?=u“要翻譯的英文或中文,如果有空格或標點請加引號\n“?\
????????????+u“(因為Bash對于末尾感嘆號處理缺陷原因,當末尾\n“?\
????????????+u“有感嘆號時最好用單引號)“
????descStr?=u“一個簡單的命令行翻譯程序“
????parser?=argparse.ArgumentParser(description=descStr?\
????????????????formatter_class=RawTextHelpFormatter)
????parser.add_argument(“words“?action=“store“?help=helpStr)
????args?=parser.parse_args()
????#?main()?函數
????main(args.words)
????exit(0)
評論
共有 條評論