亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python實現命令行英語翻譯工具

發布時間:2020-09-24 11:12:57 來源:億速云 閱讀:189 作者:Leah 欄目:編程語言

Python實現命令行英語翻譯工具?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

經常碰到不認識的英文單詞就去有道字典網頁去查查看,每次的過程都是“打開有道網頁->輸入單詞->查看結果”,這個過程有點兒繁瑣。可是一直不厭其煩的這樣重復著,卻不想解決一下。。。直到在微博上面看到有個人利用有道翻譯API做了個命令行下面的小工具。可是他是用ruby寫的,對于Python控來說,這怎么可以呢,于是自己寫一個吧,很簡單的。

在這里簡單申請一個應用即可。因為這個API有每小時1000次的使用限制,如果都使用我的key就會出現使用次數超限的情況。可以自己申請一個以滿足自己的需求。

API使用很簡單,傳幾個參數做一個http請求,返回json格式的結果。

Python實現

具體實現可以看代碼:https://github.com/veelion/tt

Python里面做http請求的庫很多,最流行和簡便的是requests,最開始我也選擇了該庫。寫完運行的時候發現,總是要遲鈍一會兒才會出結果。懷疑是requests庫內部加載的東西太多,于是換urllib2的urlopen。

Python 2.7下叫urllib2,到了Python 3下面就沒有該包了,原來Python 3把它放到urllib.request里面去了,為了讓這個小工具同時在2和3下面運行,于是有了這樣的代碼:

try:
    # For Python 3
    from urllib.request import urlopen
    from urllib.request import quote
except ImportError:
    # For Python 2
    from urllib2 import urlopen
    from urllib import quote

選好http庫就寫一個函數來做翻譯工作:

def trans(q):
    print('translating...')
    url = ('http://fanyi.youdao.com/openapi.do?'
           'keyfrom=%s&key=%s&type=data&'
           'doctype=json&version=1.1&'
           'q=%s') % (YOUDAO_KEYFROM, YOUDAO_KEY, quote(q))
    try:
        r = urlopen(url)
        html = r.read()
        data = json.loads(html)
        if data['errorCode'] != 0:
            print(html)
            return
        print(BRO)  # 設置終端字體顏色
        print("================================")
        print(u"%s -> %s" % (data['query'], ','.join(data['translation'])))
        if 'basic' in data:
            if 'uk-phonetic' in data['basic']:
                print(u"英式發音: %s" % data['basic']['uk-phonetic'])
                print(u"美式發音: %s" % data['basic']['us-phonetic'])
            for e in data['basic']['explains']:
                print(u"%s" % e)
        if 'web' in data:
            print("")
            for e in data['web']:
                print(u"%s -> %s" % (e['key'], ','.join(e['value'])))
        print("================================")
        print(NOR)  # 恢復終端字體顏色
    except:
        traceback.print_exc()

最后,程序從命令行參數得到要被翻譯的詞,調用翻譯函數即可:

if __name__ == '__main__':
    from sys import argv
    if len(argv) > 1:
        q = argv[1]
        trans(q)

以上就是實現翻譯小工具的全部過程,很適合初學python的練手實現一下。

安裝和使用

上面介紹了翻譯小工具的實現過程,如果你只是想使用的話,我已把它發布到pypi上了,你只需使用pip命令安裝即可(linux安裝):

sudo pip install terminaltranslator

安裝程序會在/usr/local/bin/下面生成t和tt兩個簡潔命令工調用。

windowns用戶安裝:

pip install terminaltranslator

安裝程序會在python的根目錄Scripts里生成t.exe和tt.exe 。

使用如下:

Python實現命令行英語翻譯工具

Python實現命令行英語翻譯工具

關于Python實現命令行英語翻譯工具問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

思茅市| 无极县| 扎兰屯市| 泰州市| 江城| 清镇市| 龙山县| 团风县| 上犹县| 米脂县| 兖州市| 榆林市| 德安县| 玛纳斯县| 兰坪| 曲水县| 弥勒县| 舒城县| 盐城市| 安康市| 黔西县| 正阳县| 陆河县| 马尔康县| 珠海市| 镇平县| 安阳市| 泸溪县| 吉木乃县| 砚山县| 剑河县| 天柱县| 临清市| 玉山县| 大庆市| 新宾| 吴旗县| 蒙山县| 东海县| 台山市| 和政县|