香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

用Python编写一个基于终端的实现翻译的脚本


时间:2021-11-29 16:23 作者:admin


为什么写这个程序,为什么不给这个程序配备gui?原因很简单,因为我是一个命令行控,Linux习惯了不习惯了鼠标,总觉得点着不如敲命令快,各位在看这篇文章就说明和本人有相同的爱好.这个用python/' target='_blank'>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 urllibimport urllib2from sys import argv,exitimport 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 '拼音:',pinyif(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ó词性: 名词其他释义:Chinazh-CN

好吧相信聪明的你肯定发现如何使用了这里就不罗嗦了.

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)