Avant-propos
Depuis que j'utilise le système Linux, la prise en charge des dictionnaires est particulièrement médiocre. Pour quelqu'un comme moi qui parle mal l'anglais, je suis toujours bloqué lors de la lecture de documents en anglais. J'ai utilisé le dictionnaire Youdao auparavant, je me sens très bien. Bien qu'il existe une version Web, elle n'est pas prise en charge pour les pages Web en anglais de l'ensemble du site. Implémentez-en simplement un vous-même, un petit outil écrit en Python pour implémenter le dictionnaire Youdao. L'idée est également très simple. Il suffit d'appeler directement l'API de Youdao et d'analyser le json renvoyé.
Utilise uniquement les bibliothèques natives Python, prenant en charge python2 et python3.
Exemple de code
#!/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()
Utilisez
pour coller le code ci-dessus. Ensuite nommez-le youdao.py
, changez le nom en mv youdao.py youdao, puis ajoutez l'autorisation exécutable chmod a x youdao
et copiez-le dans /usr/local /bin. Lorsque vous utilisez cp youdao /usr/local/bin
, utilisez le mot à traduire comme premier paramètre de ligne de commande, et si la phrase est placée entre guillemets.
Résumé
Ce qui précède est l'intégralité du contenu de cet article de questions et réponses. J'espère que le contenu de cet article pourra apporter de l'aide à l'étude ou à chacun. travail. Si vous avez des questions, vous pouvez laisser un message pour communiquer.
Pour plus d'exemples sur la façon d'utiliser Python pour implémenter le dictionnaire Youdao en ligne de commande, veuillez faire attention au site Web PHP chinois pour les articles connexes !