python的翻译-Python编写简单的谷歌翻译软件
Python编写简单的谷歌翻译软件
这是我学习Python的图形模块tkinter时完成的一个小作业,翻译速度快,
直接调用Google翻译的Python接口,界面简洁,已成为我日常编程的小助手^^
源码:# -*- coding: utf-8 -*-
from googletrans import Translator
from tkinter import *
from tkinter import filedialog
import tkinter as tk
import os
import codecs
class Goo():
def __init__(self):
self.url = ['translate.google.cn']
def translate(self, txt, lang):
translator = Translator(service_urls=self.url)
a = translator.translate(txt, dest=lang)
return a.text
class App():
def __init__(self):
self.dirname = 'D:/gg/'
self.basefile = 'D:/gg/dict_001.txt'
self.data = {}
self.init()
self.initdata()
root = Tk()
root.geometry('290x280')
root.resizable(width=False, height=False)
root.title('ABC')
root.iconbitmap('D:/py/g.ico')
self.root = root
self.goo = Goo()
self.box()
root.mainloop()
def init(self):
files = os.listdir(self.dirname)
if len(files) == 0:
f = codecs.open(self.basefile, 'w', 'utf-8')
f.close
return
files.sort(key=lambda x: int(x[5:8]))
tail = files[len(files) - 1]
size = os.path.getsize(self.dirname+tail) / 1024 / 1024
size = float('%.2f' % size)
if size > 10:
n = int(tail[5:8]) + 1
if n<10:
self.basefile = self.dirname+'dict_00'+str(n)+'.txt'
f = codecs.open(self.basefile, 'w', 'utf-8')
f.close
elif n<100:
self.basefile = self.dirname + 'dict_0' + str(n) + '.txt'
f = codecs.open(self.basefile, 'w', 'utf-8')
f.close
else:
self.basefile = self.dirname + tail
def box(self):
boxframe = Frame(self.root, width=60)
boxframe.pack(fill=tk.Y, side=LEFT)
textframe1 = Frame(boxframe, width=30)
textframe1.pack(fill=tk.Y)
y_scrollbar1 = Scrollbar(textframe1, orient=VERTICAL)
#窗口1
text1 = Text(textframe1, yscrollcommand=y_scrollbar1.set, width=30, height=4, bg='#cce8cf', font='"Lucida Console" 10',
spacing1=5, spacing2=5, spacing3=5, insertbackground='red', cursor='xterm')
y_scrollbar1.config(command=text1.yview)
y_scrollbar1.pack(side=RIGHT, fill=Y)
text1.pack(padx=10, pady=14)
self.text1 = text1
# 窗口2
btnframe = Frame(boxframe, width=20)
btnframe.pack(fill=tk.X)
btn1 = Button(btnframe, text='英译汉', command=self.prev)
btn1.pack(ipadx=12, padx=10, pady=2, side=LEFT)
btn2 = Button(btnframe, text='汉译英', command=self.next)
btn2.pack(ipadx=12, padx=28, pady=2, side=RIGHT)
# 窗口3
textframe2 = Frame(boxframe, width=30)
textframe2.pack(fill=tk.Y)
y_scrollbar2 = Scrollbar(textframe2, orient=VERTICAL)
text2 = Text(textframe2, yscrollcommand=y_scrollbar2.set, width=30, height=4, bg='#cce8cf', font='"Lucida Console" 10',
spacing1=5, spacing2=5, spacing3=5, insertbackground='red', cursor='xterm')
y_scrollbar2.config(command=text2.yview)
y_scrollbar2.pack(side=RIGHT, fill=Y)
text2.pack(padx=10, pady=14)
self.text2 = text2
def next(self):
y = self.text1.get(0.0, 'end').strip()
if len(y) < 1:
return
x = self.data.get(y)
if x is None:
x = self.goo.translate(y, 'en').strip()
self.data[y] = x
self.text2.delete(0.0, 'end')
self.text2.insert(0.0, x)
f = codecs.open(self.basefile, 'a', 'utf-8')
f.write(y + ' ~ ' + x + '
')
f.close()
else:
self.text2.delete(0.0, 'end')
self.text2.insert(0.0, x)
def prev(self):
y = self.text1.get(0.0, 'end').strip()
if len(y) < 1:
return
x = self.goo.translate(y, 'zh-cn')
self.text2.delete(0.0, 'end')
self.text2.insert(0.0, x)
v = self.data.get(x)
if v is None:
self.data[x] = y
f = codecs.open(self.basefile, 'a', 'utf-8')
f.write(x + ' ~ ' + y + '
')
f.close()
def initdata(self):
files = os.listdir(self.dirname)
files.sort(key=lambda x: int(x[5:8]))
for f in files:
z = codecs.open(self.dirname + f, 'r', 'utf-8')
while True:
line = z.readline()
if len(line) == 0:
break
if len(line.strip()) < 1:
continue
dc = line.strip().split(' ~ ')
self.data[dc[0]] = dc[1]
app = App()
python的翻译-Python编写简单的谷歌翻译软件相关推荐
- python七夕快乐_python编写简单抽奖系统
python编写简单抽奖系统 #!/usr/bin/env python #coding=utf-8 from Tkinter import * import time import random c ...
- Python结合MySQL数据库编写简单信息管理系统
1,项目整体逻辑及使用工具 1.1 项目整体逻辑 本项目主要是使用Python进行编写,利用Python中的pymysql库进行连接数据库,将信息存入MySQL数据库中,然后实现对信息进行增删改查等一 ...
- python判断语种_编写简单的Python程序来判断文本的语种
1.问题的描述 用Python进行文本处理时,有时候处理的文本中包含中文.英文.日文等多个语系的文本,有时候不能同时进行处理,这个时候就需要判别当前文本是属于哪个语系的.Python中有个langid ...
- python代码翻译-Python编程学习 -- 用十几行代码实现一个翻译器
前言 本文所用的方法十分简(ruo)易(zhi),非常适用想用Python做点有趣的功能的Python初学者. 先上一波效果图 那么这到底是怎么实现的呢?其实说起来很简单,我们只需要写一个爬虫就行啦! ...
- python语音翻译-Python 神工具包!翻译、文字识别、语音转文字统统搞定
今天给大家介绍一款 Python 制作的实用工具包,包含多种功能:音频转文字 文字转语音 截图 OCR文字识别 复制翻译 举个例子,比如截图 OCR 文字识别就有很多实用场景. 常会遇到有些 PDF ...
- python google翻译,python利用google翻译方法实例(翻译字幕文件)
英文字幕确实让人头疼,因此,花了一天专门研究,用python实现了比较简单的翻译代码.仅有几十行 首先加载模块 pip uninstall googletrans git clone https:// ...
- python语音翻译-python利用有道翻译实现“语言翻译器”的功能
importurllib.requestimporturllib.parseimportjsonwhileTrue: content= input('请输入需要翻译的内容(退出输入Q):')if co ...
- python英语翻译-python制作英语翻译小工具
用python爬虫可以制作英语翻译小工具.来看下代码吧- import requests,json #函数封装 def translator(): session=requests.session() ...
- python代码翻译-python实现在线翻译
本文实例为大家分享了python实现在线翻译的具体代码,供大家参考,具体内容如下 具体效果请看图 代码: import urllib.request import urllib.parse impor ...
最新文章
- Array with Odd Sum CodeForces - 1296A
- Ext 3.0 +ASP.NET2.0 可视化开发介绍
- Windows系统常用技巧总结
- Python算法:推导、递归和规约
- sql 24小时格式_初学SQL,80%都会踩的5个坑
- PC端 二维码/条形码扫描器1.1-支持截图+摄像头+本地图片+扫描枪识别
- 手机怎么打开html.chm,chm格式文件怎么打开,华为手机chm阅读器哪个好
- SPSS数据分析全套教程(2)—— 变量处理
- POJ3658Matrix( 双重二分+负数+死循环)
- 美国弗吉尼亚大学计算机科学,弗吉尼亚大学计算机科学系学位设置
- powershell过滤查询结果
- python练习题:程序员问卷调查
- Driver中使用的内核机制
- 【基础知识】PCB布局设计入门步骤
- 传国宝玺 第三部 巴山藏宝洞 第三十四章 千魂魈
- 基于Spyder(Python 3.8)网络爬虫东方财经股票数据
- 启动MySQL服务报错解决
- cf: Ehab and Path-etic MEXs
- BACKUP - Backup Files
- 如何把股票数据导出excel?导出股票历史数据到Excel的方法