运行图

代码

#自动检测中文翻译英文,翻译单词,增加了键盘监听,CTRL+回车即可翻译
from urllib import request
from urllib import parse
import json
import requests
import random
import keyboard
from bs4 import BeautifulSoup
import tkinter as tk  # 使用Tkinter前需要先导入
def is_Chinese(ch):if '\u4e00' <= ch <= '\u9fff':return Truereturn False
def fun(var):choice = 1if len(var)==0:return "翻译内容不可为空!"for i in var:if i==" ":choice=2if len(var)>3:for i in var:if is_Chinese(i)==True:choice=2else:choice=1if choice==1:s=''proxiesvalue = [{'http': 'http://121.232.148.167:9000'},{'http': 'http://39.105.28.28:8118'},{'http': 'http://113.195.18.133:9999'}]post_url = "https://fanyi.baidu.com/sug"headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36 Edg/89.0.774.77'}data = {'kw': var}try:response = requests.get(url=post_url, headers=headers, params=data, proxies=random.choice(proxiesvalue))dic_obj = response.json()except:return "请求失败"else:if response.status_code == 200:  # 判断状态码for i, v in dic_obj.items():if i == "data":ls = vif len(ls) == 0:return "输入有误"for i in ls:for k, v in i.items():s+=(v+"\n")return s+"\n"elif choice==2:Request_URL = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"form_data = {}form_data['i'] = varform_data['from'] = 'AUTO'form_data['to'] = 'AUTO'form_data['smartresult'] = 'dict'form_data['doctype'] = 'json'form_data['version'] = '2.1'form_data['keyfrom'] = 'fanyi.web'form_data['action'] = 'FY_BY_CLICKBUTTION'form_data['typoResult'] = 'false'data = parse.urlencode(form_data).encode('utf-8')response = request.urlopen(Request_URL, data)html = response.read().decode('utf-8')translate_results = json.loads(html)s=''for i in range(888):try:s += translate_results["translateResult"][0][i]['tgt']except:breakreturn s+"\n\n"# 实例化object,建立窗口window
window = tk.Tk()# 给窗口的可视化起名字
window.title('开发者:Yesir')# 设定窗口的大小(长 * 宽)
window.geometry('800x500')  # 这里的乘是小x# e = tk.Entry(window,  show = '*',width=80,bd=8,insertbackground = 'red',relief = 'sunken')  # 显示成明文形式
e=tk.Text(window, height=5,width=80)
e.pack()#调用函数,get text文本框内的信息,传给fun函数进行翻译
def insert_point():  # 在鼠标焦点处插入输入内容t.delete('1.0', 'end')var = e.get('1.0','end')data=''for i in var:if i!="\n":data+=it.mark_set("insert", "%d.%d" % (0, 0))t.insert('insert', fun(data))def abc(x):# a = keyboard.KeyboardEvent('down', 28, 'enter')# a = keyboard.KeyboardEvent("down",28,'enter')# if x.event_type == 'down' and x.name == a.name :#     insert_point()if keyboard.is_pressed('ctrl') and keyboard.is_pressed('enter'):t.delete('1.0', 'end')insert_point()elif keyboard.is_pressed('esc'):window.destroy()exit()
# def insert_end():  # 在文本框内容最后接着插入输入内容
#     tk.Label(window, text='\n\n\n\n', font=('Arial', 12), ).place(x=50, y=200, anchor='nw')
#     var = e.get()
#     t.insert('insert', fun(var))tk.Label(window, text="开发者:Yesir",fg="#6950a1", bg="#feeeed", font=('Arial', 24), ).place(x=300, y=400, anchor='nw')
b1 = tk.Button(window, text='翻译', width=10,height=2, command=insert_point)
b1.pack()# 第7步,创建并放置一个多行文本框text用以显示
t = tk.Text(window, height=20)
t.pack()
keyboard.hook(abc)# 第8步,主窗口循环显示
window.mainloop()

Python开发简易翻译软件相关推荐

  1. Python 开发简易巡检工具

    利用SSH或者Zabbix监控,配合Django开发框架,改造出属于自己的监控平台,实现包括主机图形,自动发现,计划任务,批量cmd执行,服务监控,日志监控等功能,由于公司机器混乱,基本上市面上的所有 ...

  2. python开发音乐播放器教程_python开发简易版在线音乐播放器示例代码

    在线音乐播放器,使用python的Tkinter库做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过urllib.urlopen模块打开网址,使用Json模块进行数 ...

  3. python 打开pdf文件_用Python开发的简易PDF阅读器

    主要的库 PyQt5:UI的开发 fitz:与pdf文件相关的操作几乎都用的是它 这是一个用Python开发的pdf阅读器,是软A项目的附加软件(虽然现在主程序几乎可以说还没有开始:joy:,只完成了 ...

  4. python的django框架与springboot_Python系统教学|为什么Django框架在Python开发很重要?...

    Django框架在Python开发很重要,Django框架是一个web框架,且是一个后端框架程序,它不是服务器,需要注意Django框架帮我们封装了很多的组件,帮助我们实现各种功能,具有很强的扩展性. ...

  5. python开发项目案例集锦 pdf_Python项目开发案例集锦 实战项目代码+配套文件

    Python项目开发案例集锦涵盖8个开发方向.23个项目,循序渐进地让读者在实践中学习,在实践中提升实际开发能力. 全书共8篇:控制台程序.小游戏.实用小工具.网络爬虫.数据分析.人工智能.Web开发 ...

  6. python制作计算机程序_用 Python 开发实用程序 – 计算器

    一段时间前,自己制作了一个库 "sui-math".这其实是 math 的翻版.做完后,我又想到,python 既然可以轻易的完成任何的数学计算,何不用 python 开发一个小程 ...

  7. visual studio 2015 搭建python开发环境,python入门到精通[三]

    在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...

  8. python 串口_如何使用Python开发串口通讯上位机(一)

    用Python开发串口通讯型上位机,其实并非最优解,本系列更新只为个人学习与总结.如果有C语言底子,嵌入式层面的上位机开发,C++ Builder,C#才是更加好用的利器. 1 什么是上位机 从事过嵌 ...

  9. python的django框架是干嘛的_Django框架在Python开发很重要为什么?

    Django框架在Python开发很重要,Django框架是一个web框架,且是一个后端框架程序,它不是服务器,需要注意Django框架帮我们封装了很多的组件,帮助我们实现各种功能,具有很强的扩展性. ...

最新文章

  1. RHEL7.0 DNS服务配置
  2. tp5 sum某个字段相加得到总数
  3. 关于Jquery EasyUI中的DataGrid服务器端分页随记
  4. bootstrap file input java,BootStrap-fileinput初识
  5. 一键关闭服务器危险端口BAT文件安防篇
  6. 转--global.asax文件(站点计数器)
  7. ‍炮灰模型---------- 对女生选择追求者的数学模型的建立
  8. Python数学建模入门【3】
  9. Python CookBook第二章 字符串和文本
  10. Modern C++ JSON nlohmann::json 使用详解
  11. 计算机无法打印 重启又好了,打印机显示通讯错误,不能打印,但电脑重启后又好了!这是为什么?...
  12. anaconda无法安装最新版pip
  13. 基于matlab 非局部均值(NLM)滤波图像去噪
  14. 微生物组-宏基因组分析(线上/线下同时开课,2021.8)
  15. 老罗的android rss,为新品打气?罗永浩再作惊人语:锤子系统比安卓苹果好30%以上...
  16. python制作音乐相册_Python数据可视化:网易云音乐歌单
  17. 淘宝商品数据清洗及预处理
  18. 稀疏矩阵转CSR格式存储
  19. JXTA promotion, 2 install Demo Application
  20. QML初学读书笔记(三)

热门文章

  1. 2023年全球及中国香草盐行业头部企业市场占有率及排名调研报告
  2. error: stray ‘\302’ in program/error: stray ‘\240’ in program解决方法
  3. Win8系统下,如何一键找回Win7的经典开始菜单。
  4. I.MX RT1050 通过修改DCD文件修改SDRAM参数
  5. 透视(perspective)
  6. mysql diff_mysqldiff实现MySQL数据表比较
  7. 安卓壁纸服务(动态壁纸)使用与源码分析
  8. nosql数据库入门_NoSQL入门资料
  9. ​Audified ToneSpot Electric Pro 电吉他效果器评测:便捷、全能!
  10. linux chkconfig 目录,Linux中chkconfig命令的简介及使用方法