这篇文章给大家提供一个Python实现的百度翻译小工具。
这个小工具使用了百度翻译提供的API接口。
官方其实也提供了一个Python的Demo,但是是基于Python2。
这里,我们通过Python3完成这个接口的调用,实现翻译功能。
代码中,唯一一个新的模块是json模块,通过这个模块对百度翻译接口返回的数据进行读取。
代码都很简单,建议大家自行理解。
示例代码:
from urllib.parse import quote from hashlib import md5 from http import client from string import ascii_lowercase import random import json appid = '申请百度翻译开发者账号获取' secret_key = '申请百度翻译开发者账号获取' def from_to(word): # 中英文翻译转换 if word in ascii_lowercase: from_lang = 'en' to_lang = 'zh' else: from_lang = 'zh' to_lang = 'en' return from_lang, to_lang def get_sign(salt, qurey): # 生成调用API的签名 sign = appid + qurey + str(salt) + secret_key m = md5() m.update(sign.encode('utf-8')) return m.hexdigest() def trans(qurey): # 实现翻译功能 http_client = None from_lang, to_lang = from_to(qurey[0]) salt = random.randint(12345, 67890) sign = get_sign(salt, qurey) myurl = '/api/trans/vip/translate' + '?appid=' + appid + '&q=' + quote( qurey) + '&from=' + from_lang + '&to=' + to_lang + '&salt=' + str(salt) + '&sign=' + sign try: http_client = client.HTTPConnection('api.fanyi.baidu.com') http_client.request('GET', myurl) response = http_client.getresponse() content = json.loads(response.read()) # 将调用API的返回结果转为字典 return content['trans_result'][0]['dst'] # 返回翻译内容 except Exception as e: return e finally: if http_client: http_client.close() if __name__ == '__main__': print(trans('翻译工具'))
通过上方这个模块,我们可以通过wxPython实现GUI界面,并且通过PyInstaller打包成可执行程序。
下方是我制作的一个小工具,主要为了帮助英文水平不好的同学能够查询编程中的一些单词,或者辅助进行一些命名的定义。
主要特点:
1、中英文自动识别翻译;
2、翻译结果快速转换为不同的格式。
主要应用场景:
辅助编程中对模块、函数、变量和常量进行英文命名,以及对编程过程中出现的错误提示进行翻译,避免网页中打开百度翻译以及窗口切换的苦恼。
设置功能:
1、支持设置回车即进行翻译;
2、支持翻译窗口置顶;
3、支持翻译后自动将结果(包括转换格式的结果)自动复制到系统剪切板。
工具下载地址:https://pan.baidu.com/s/1mjluleC
如果运行错误,请安装Visual C++ Redistributable for Visual Studio 2015【点此下载】【网盘下载】
注意:下载地址中有两个版本,32位系统安装X86版本,64位系统安装X64版本。
转载请注明:魔力Python » 小工具:百度翻译助手