翻译python代码的软件_小工具:百度翻译助手

这篇文章给大家提供一个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打包成可执行程序。

下方是我制作的一个小工具,主要为了帮助英文水平不好的同学能够查询编程中的一些单词,或者辅助进行一些命名的定义。

翻译python代码的软件_小工具:百度翻译助手_第1张图片

主要特点:

1、中英文自动识别翻译;

2、翻译结果快速转换为不同的格式。

主要应用场景:

辅助编程中对模块、函数、变量和常量进行英文命名,以及对编程过程中出现的错误提示进行翻译,避免网页中打开百度翻译以及窗口切换的苦恼。

设置功能:

1、支持设置回车即进行翻译;

2、支持翻译窗口置顶;

3、支持翻译后自动将结果(包括转换格式的结果)自动复制到系统剪切板。

如果运行错误,请安装Visual C++ Redistributable for Visual Studio 2015【点此下载】【网盘下载】

注意:下载地址中有两个版本,32位系统安装X86版本,64位系统安装X64版本。

你可能感兴趣的:(翻译python代码的软件)