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编写简单的谷歌翻译软件相关推荐

  1. python七夕快乐_python编写简单抽奖系统

    python编写简单抽奖系统 #!/usr/bin/env python #coding=utf-8 from Tkinter import * import time import random c ...

  2. Python结合MySQL数据库编写简单信息管理系统

    1,项目整体逻辑及使用工具 1.1 项目整体逻辑 本项目主要是使用Python进行编写,利用Python中的pymysql库进行连接数据库,将信息存入MySQL数据库中,然后实现对信息进行增删改查等一 ...

  3. python判断语种_编写简单的Python程序来判断文本的语种

    1.问题的描述 用Python进行文本处理时,有时候处理的文本中包含中文.英文.日文等多个语系的文本,有时候不能同时进行处理,这个时候就需要判别当前文本是属于哪个语系的.Python中有个langid ...

  4. python代码翻译-Python编程学习 -- 用十几行代码实现一个翻译器

    前言 本文所用的方法十分简(ruo)易(zhi),非常适用想用Python做点有趣的功能的Python初学者. 先上一波效果图 那么这到底是怎么实现的呢?其实说起来很简单,我们只需要写一个爬虫就行啦! ...

  5. python语音翻译-Python 神工具包!翻译、文字识别、语音转文字统统搞定

    今天给大家介绍一款 Python 制作的实用工具包,包含多种功能:音频转文字 文字转语音 截图 OCR文字识别 复制翻译 举个例子,比如截图 OCR 文字识别就有很多实用场景. 常会遇到有些 PDF ...

  6. python google翻译,python利用google翻译方法实例(翻译字幕文件)

    英文字幕确实让人头疼,因此,花了一天专门研究,用python实现了比较简单的翻译代码.仅有几十行 首先加载模块 pip uninstall googletrans git clone https:// ...

  7. python语音翻译-python利用有道翻译实现“语言翻译器”的功能

    importurllib.requestimporturllib.parseimportjsonwhileTrue: content= input('请输入需要翻译的内容(退出输入Q):')if co ...

  8. python英语翻译-python制作英语翻译小工具

    用python爬虫可以制作英语翻译小工具.来看下代码吧- import requests,json #函数封装 def translator(): session=requests.session() ...

  9. python代码翻译-python实现在线翻译

    本文实例为大家分享了python实现在线翻译的具体代码,供大家参考,具体内容如下 具体效果请看图 代码: import urllib.request import urllib.parse impor ...

最新文章

  1. Array with Odd Sum CodeForces - 1296A
  2. Ext 3.0 +ASP.NET2.0 可视化开发介绍
  3. Windows系统常用技巧总结
  4. Python算法:推导、递归和规约
  5. sql 24小时格式_初学SQL,80%都会踩的5个坑
  6. PC端 二维码/条形码扫描器1.1-支持截图+摄像头+本地图片+扫描枪识别
  7. 手机怎么打开html.chm,chm格式文件怎么打开,华为手机chm阅读器哪个好
  8. SPSS数据分析全套教程(2)—— 变量处理
  9. POJ3658Matrix( 双重二分+负数+死循环)
  10. 美国弗吉尼亚大学计算机科学,弗吉尼亚大学计算机科学系学位设置
  11. powershell过滤查询结果
  12. python练习题:程序员问卷调查
  13. Driver中使用的内核机制
  14. 【基础知识】PCB布局设计入门步骤
  15. 传国宝玺 第三部 巴山藏宝洞 第三十四章 千魂魈
  16. 基于Spyder(Python 3.8)网络爬虫东方财经股票数据
  17. 启动MySQL服务报错解决
  18. cf: Ehab and Path-etic MEXs
  19. BACKUP - Backup Files
  20. 如何把股票数据导出excel?导出股票历史数据到Excel的方法

热门文章

  1. 产业企业和投资机会研究(中小板、创业板) 碧水源(300070)创业板
  2. 【代码笔记】iOS-获得设备型号
  3. SQL语句在数据库中是如何执行的
  4. zend studio 10破解/汉化
  5. 两个for还是一个for?
  6. Java 经典问题 for 基础知识
  7. ashx session 使用注意要点。
  8. c# 的 textbox 默认情况下是有最大字符长度限制的
  9. how tomcat works(第17章: 启动Tomcat)
  10. GC分析工具使用-gceacy分析堆栈