python学习日记-百度翻译GUI

跟女朋友聊天的时候,女朋友抱怨每次翻译都要打开百度网页上找,这让我有了做一个小的翻译界面的想法,搜索百度翻译居然发现其有API,正合我意,上百度翻译开放平台注册一个个人测试帐号就可以了,东拼西凑,做出了来一个小程序,代码如下:

 1 # coding=utf-8
 2 from Tkinter import *
 3 import tkMessageBox
 4 import urllib2
 5 import hashlib
 6 import json
 7
 8
 9 trans_id = ‘*****************‘    #提供百度翻译的APP ID
10 trans_password = ‘***********‘    #提供密钥
11 phone_num = ‘************‘    #要求是salt,其实电话号码就行
12
13
14 def count(word):
15     c = 0
16     for i in word:
17         c += 1
18     return c
19
20
21 def md5hex(word):
22     if isinstance(word, unicode):
23         word = word.encode("utf-8")
24     elif not isinstance(word, str):
25         word = str(word)
26     m = hashlib.md5()
27     m.update(word)
28     return m.hexdigest()
29
30
31 def trans(word, fr=‘en‘, to=‘zh‘):
32     word_num = count(word)
33     sign = md5hex(trans_id + word + phone_num + trans_password)
34     api = ‘http://api.fanyi.baidu.com/api/trans/vip/translate?q=‘ + word + ‘&from=‘ + ‘en‘ + ‘&to=‘ + ‘zh‘ + ‘&appid=20161120000032369&salt=‘ + phone_num + ‘&sign=‘ + sign
35     trans_data = urllib2.urlopen(api).read()
36     trans_data = json.loads(trans_data)
37     trans_data = trans_data[‘trans_result‘][0][‘dst‘]
38     return trans_data
39
40
41 class Application(Frame):
42     def __init__(self, master=None):
43         Frame.__init__(self, master, bd=30)
44         self.pack()
45         self.createWidgets()
46
47     def createWidgets(self):
48         self.nameInput = Entry(self)
49         self.nameInput.pack()
50         self.alertButton = Button(self, text=‘翻译‘, command=self.hello)
51         self.alertButton.pack()
52
53     def hello(self):
54         name = self.nameInput.get()
55         result = trans(name)
56         tkMessageBox.showinfo(‘翻译结果‘, ‘Result: %s‘ % result)
57
58 app = Application()
59 # 设置窗口标题:
60 app.master.title(‘Translate‘)
61 # 主消息循环:
62 app.mainloop()

测试运行结果还行,截图如下:

时间: 2024-10-25 02:13:52

python学习日记-百度翻译GUI的相关文章

python爬取百度翻译返回:{'error': 997, 'from': 'zh', 'to': 'en', 'query 问题

解决办法: 修改url为手机版的地址:http://fanyi.baidu.com/basetrans User-Agent也用手机版的 测试代码: # -*- coding: utf-8 -*- """ ------------------------------------------------- File Name: requestsGet Description : 爬取在线翻译数据s Author : 神秘藏宝室 date: 2018-04-17 --------

python 爬取百度翻译进行中英互译

感谢RoyFans 他的博客地址http://www.cnblogs.com/royfans/p/7417914.html import requests def py(): url = 'http://fanyi.baidu.com/v2transapi/' while True: print('感谢百度翻译,禁止用于商业用途') print('----------------------------') content=input("中译英请输入1,英译中请输入2,退出请输入Q\n"

python学习日记-hello,world!

写这篇日志的目的,只是记录一下学习Python的一些问题,收获.今天,也是新入职第一天,也记录下日常生活的点滴.看看我能坚持多久吧.   早上,起床,洗漱,急忙赶往公司,结果还是迟到了,但是老板不在,然后就是装机,装机的过程中知道了公司早上上班时间很灵活,从8点半到9点半都可以,只是影响你下班的时间,心中暗爽.但是迟到一次扣50,还是有点吓人的.然后开始一天的扯淡.下午5点半准时溜.    回来开始安装Python(本来昨晚上就在下的,可是弄了半天,发现现在Python有2.x,3.x的版本.作

python学习日记-i/o&type

今天学习的是python的输入输出io和数据类型. python的输入为input()函数(一个内置函数和c#的readkey()类似),比如要给变量a赋值,需要用户输入赋值就可以写a=input();如果需要提示用户输入名字并且赋值给a就可以用a=input(‘请输入你的名字’),但是在用的过程中遇到一个问题,就是让用户输入一个数字,并进行处理,比如: a=input('请输入一个数字')if a>100: print(a)else: print(a+100) 结果报错 unorderable

(三)Python 学习第三天--GUI桌面项目

(代码参考了别人的代码,只做学习用途!!!最近因为写论文,好久没有记录,好内疚...今天学习了一个小案例,做一下) 主要使用模块:tkinter 代码如下: from tkinter import *from tkinter import messagebox as tkMessageBoxfrom tkinter import filedialog as tkFiledialogimport osimport fnmatch #fnmatch是一种函数,功能是指定的模式来匹配文件名或字符串.定

Python 学习日记(第二周)

从这周开始我就正式学习Python 语言了.以后每周都会有一篇有关于学习Python的见闻与大家分享! Python的安装 学习的第一步首先要有一个运行的环境.所以接下来介绍一下安装的步骤. 通过Python的官网可以看到Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上.在Windows上写Python程序,放到Linux上也是能够运行的. 要提醒大家的是 Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的.在未来py3 会是趋

Python学习日记(5)简单了解迭代器、生成器、装饰器、上下文管理器

迭代器 迭代器只不过是一个实现了迭代器协议的容器对象.它基于以下两个方法. __ next __:返回容器的下一个元素. __ iter __:返回迭代器本身. 实际上,迭代器表现了程序底层的概念和特性,在程序中,你可以不必使用迭代器,但是理解迭代器,却是对生成器这样一个常用特性理解很有帮助. 学习迭代器,我基本上通过2个例子来理解迭代器的特性.(PS:我发现我之前记得笔记不是很详细,所以这一篇记录详细一些--不然我有时候一些点我自己看的时候都要想一下,吐血,果然没什么灵性--) 好了,上代码:

python学习日记——安装及初识

一.Linux基础(内容较多,额外整理)二.Python开发1.操作系统是基于C语言的,所以C语言可以在操作系统上直接执行,而自己书写的python代码经过解释器转换为C语言之后再执行:python比Java简洁,但执行效率低2.学习的路线及框架a.Python基础- 基础- 基本数据类型- 函数- 面向对象b.网络编程c.Web框架用于写网站d.设计模式 + 算法e.项目阶段3.python开发环境搭建a.Windows中(使用pythonw.exe不在运行程序时弹出终端窗口:使用python

python学习日记

python和java,.net,php web平台交互最好使用web通信方式,不要使用Jypython,IronPython,这样的好处是能够保持程序模块化,解耦性好 python允许使用'''...'''方式来表示多行代码: >>> print(r'''Hello, ... Lisa!''') Hello, Lisa! >>> >>> print('''line1 ... line2 ... line3''') line1 line2 line3