为什么写这个程序,为什么不给这个程序配备gui?原因很简单,因为我是一个命令行控,Linux习惯了不习惯了鼠标,总觉得点着不如敲命令快,各位在看这篇文章就说明和本人有相同的爱好.这个用python写的翻译工具是通过google来实现的,由于google返回的数据不是很规范(或者说我没有找到规律),现在前三项能正常显示(源词,翻译结果,和汉语拼音).下面的词性和其他释义可能不同,见谅,望大神可以指点下小弟和帮小弟完善,这里赶紧不尽.
好了不费话了,下面放代码:
#!/usr/bin/env python # -*-coding:utf8 -*- ''' #============================================================================= # FileName: translate.py # Desc: To translate with zh to en or en2zh # Author: cold # Email: wh_linux@126.com # HomePage: http://www.linuxzen.com # Version: 0.0.1 # LastChange: 2012-04-23 23:04:08 # History: #============================================================================= ''' import urllib import urllib2 from sys import argv,exit import re # 显示帮助信息 def helpinfo(): print ''' Usage: pytran {zh2en|en2zh} content ''' # 格式化输出 def formatresult(result,srclang): resu = result.split('[[') if (srclang=='en2zh' or srclang == 'zh2en'): firstre = resu[1].replace('[','').replace(']','').split('"') print '源词:',firstre[3] print '结果:',firstre[1] if (srclang=='zh2en'): piny = firstre[7] else: piny = firstre[5] print '拼音:',piny if(srclang=='zh2en'): secresu=resu[2].replace('"','').split('[') else: secresu = resu[2].replace('"', '').split('[') print '词性:',secresu[0].replace(',','') print '其他释义:' for i in ''.join(secresu[1].split(']')).split(','): print i # 获取命令行参数 try: srclang = argv[1] except: helpinfo() exit(1) try: cont = argv[2] except: helpinfo() exit(2) # 判断翻译目标语言用来确定传送参数 if(srclang == 'zh2en'): data=urllib.urlencode({'client':'t', 'text':cont, 'hl':'zh-CN','tl':'en', 'multires':'1','prev':'btn', 'ssel':'0','sc':'1'}) elif(srclang == 'en2zh'): data=urllib.urlencode({'client':'t', 'text':cont, 'hl':'zh-CN', 'sl':'en','tl':'zh-CN', 'multires':'1', 'prev':'btn', 'ssel':'0','sc':'1'}) else: helpinfo() # 打开google翻译内容 url = 'http://translate.google.cn/translate_a/t' req =urllib2.Request(url,data) req.add_header("User-Agent", "Mozilla/5.0+(compatible;+Googlebot/2.1;++http://www.google.com/bot.html)") fd = urllib2.urlopen(req) result = fd.read() # 格式化输出 formatresult(result, srclang) fd.close()
为了更方便的使用我们把这个脚本命名位pytranslate,放到/usr/bin下,并赋予执行权限:
chmod +x /usr/bin/pytranslate
然后我们就可以使用它进行翻译了: 翻译英文到中文:
pytranslate en2zh extent 源词: extent 结果: 程度 拼音: Chéngdù 词性: 名词 其他释义: 程度 范围 幅度 规模 度 地步 广度 长度 面 长短 份儿 界 en 翻译中文到英文 pytranslate zh2en 中国 源词: 中国 结果: China 拼音: Zhōngguó 词性: 名词 其他释义: China zh-CN
好吧相信聪明的你肯定发现如何使用了这里就不罗嗦了.
本文向大家介绍python用tkinter实现一个gui的翻译工具,包括了python用tkinter实现一个gui的翻译工具的使用技巧和注意事项,需要的朋友参考一下 运行效果: 自己可以用pyinstaller 打包成 exe随时可以用。 省去了再打开网页去搜 索翻译网页,下载翻译软件。 以上就是python用tkinter实现一个gui的翻译工具的详细内容,更多关于python 翻译工具的资料
本文向大家介绍基于python编写的微博应用,包括了基于python编写的微博应用的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了基于python编写的微博应用,分享给大家供大家参考。具体如下: 在编写自己的微博应用之前,先要到weibo开放平台申请应用的公钥和私钥。 下载python版的SDK,打开example目录,仿照oauthSetTokenUpdate.py进行编码, 运行这个程
本文向大家介绍实现MySQL回滚的Python脚本的编写教程,包括了实现MySQL回滚的Python脚本的编写教程的使用技巧和注意事项,需要的朋友参考一下 操作数据库时候难免会因为“大意”而误操作,需要快速恢复的话通过备份来恢复是不太可能的,因为需要还原和binlog差来恢复,等不了,很费时。这里先说明下因为Delete 操作的恢复方法:主要还是通过binlog来进行恢复,前提是binlog_fo
本文向大家介绍用python实现百度翻译的示例代码,包括了用python实现百度翻译的示例代码的使用技巧和注意事项,需要的朋友参考一下 用python实现百度翻译,分享给大家,具体如下: 首先,需要简单的了解一下爬虫,尽可能简单快速的上手,其次,需要了解的是百度的API的接口,搞定这个之后,最后,按照官方给出的demo,然后写自己的一个小程序 打开浏览器 F12 打开百度翻译网页源代码: 我们可以
本文向大家介绍基于python的字节编译详解,包括了基于python的字节编译详解的使用技巧和注意事项,需要的朋友参考一下 定义: 把模块定义成二进制语言程序的这个过程叫做字节编译 python是解释型语言,它的字节编译是由解释器完成的 编译py文件,生成pyc结尾的文件的方法, 方法一: Import zipfile.py 方法二: 以上这篇基于python的字节编译详解就是小编分享给大家的全部
本文向大家介绍用Python编写脚本使IE实现代理上网的教程,包括了用Python编写脚本使IE实现代理上网的教程的使用技巧和注意事项,需要的朋友参考一下 厂里上个网需要设置代理服务器,切换各种环境『包括但不仅限于开发环境、QA、预上线、验收、生产环境、压力测试、Demo……』都需要给浏览器设置不同的代理服务器。 虽然俺有神器Firefox+Change Host+HostAdmin+Proxy