看文献看的头疼,为了解决小麻烦没事就写了这个来玩一玩。其实也没有什么就是用一个简单的爬虫和界面,
所以啥也不多说,直接贴代码,欢迎尝试
# -*- coding: utf-8 -*- # filename:GoogleTranslation1.2.py import urllib.parse import urllib.request import time import pyperclip from tkinter import * def translate(text, f='zh-cn', t='en'): url_google = 'http://translate.google.cn/translate_t' reg_text = re.compile(r'(?<=TRANSLATED_TEXT=).*?;') user_agent = r'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' \ r'Chrome/44.0.2403.157 Safari/537.36' '''user_agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)''''' values = {'hl': 'zh-cn', 'ie': 'utf-8', 'text': text, 'langpair': '%s|%s' % (t, f)} value = urllib.parse.urlencode(values) req = urllib.request.Request(url_google + '?' + value) req.add_header('User-Agent', user_agent) response = urllib.request.urlopen(req) content = response.read().decode('utf-8') data = reg_text.search(content) result = data.group(0).strip(';').strip('\'') return result def getcopytext(copyBuff): copyedText=pyperclip.paste() if copyBuff!=copyedText: copyBuff=copyedText normalizedText=copyBuff.replace('\r','\\r').replace('\n','\\n').replace('-\\r\\n','').replace("\\r\\n"," ") else: print('no change') return normalizedText def showtxt(inputtxt): root = Tk() root.title('DayDayUp') # 定义窗体标题 root.geometry('400x200') # 定义窗体的大小,是400X200像素 label = Label(root,text=inputtxt,wraplength=400,justify='left',font=12) #label['text'] = inputtxt label.pack() root.mainloop() if __name__ == "__main__": copyBuff = ' ' # text_1 原文 # text_1=open('c:\\text.txt','r').read() while True: time.sleep(0.003) copyedText = pyperclip.paste() if copyBuff!=copyedText: copyBuff=copyedText text_1 = copyBuff.replace('\r', '\\r').replace('\n', '\\n').replace('-\\r\\n', '').replace("\\r\\n", " ") text_2 = translate(text_1)#.strip("'") showtxt(text_2)
实现的功能:运行程序后,直接选中要翻译的内容,复制,然后就直接自动读取粘贴板上的内容,自动翻译并显示在界面上,不需要输入,直接自动输出。
打包的过程:
1.安装pyinstaller:
pip install pyinstaller
2.CMD进入要转化的项目的xxx.py所在的目录下,执行如下命令:
pyinstaller -F -w ***.py-F:打包为单文件
-w:Windows程序,不显示命令行窗口
***.py是你要打包的py文件
当然你还可以把文件打包成使用自己的图标的文件,执行如下:
pyinstaller -F -w -i manage.ico ***.py
-i:是程序图标
大功告成
下面是效果图