• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 用Python编写一个基于终端的实现翻译的脚本

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

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python终端,python终端窗口,终端运行python,python脚本编写实例,python编写测试脚本等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

为什么写这个程序,为什么不给这个程序配备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()

</div>

为了更方便的使用我们把这个脚本命名位pytranslate,放到/usr/bin下,并赋予执行权限:

chmod +x /usr/bin/pytranslate

</div>

然后我们就可以使用它进行翻译了: 翻译英文到中文:

pytranslate en2zh extent
源词: extent
结果: 程度
拼音: Chéngdù
词性: 名词
其他释义:
程度
范围
幅度
规模
度
地步
广度
长度
面
长短
份儿
界
en
翻译中文到英文
pytranslate zh2en 中国
源词: 中国
结果: China
拼音: Zhōngguó
词性: 名词
其他释义:
China
zh-CN

</div>

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

</div>

您可能想查找下面的文章:

  • python如何在终端里面显示一张图片
  • python如何在终端里面显示一张图片
  • 用Python编写一个基于终端的实现翻译的脚本
  • 用Python编写一个基于终端的实现翻译的脚本

相关文章

  • Python作用域用法实例详解
  • 使用 tf.nn.dynamic_rnn 展开时间维度方式
  • python下读取公私钥做加解密实例详解
  • python中lambda与def用法对比实例分析
  • 使用 Python 获取 Linux 系统信息的代码
  • 使用Python编写简单的端口扫描器的实例分享
  • 在Python中操作字符串之startswith()方法的使用
  • Python多线程实例教程
  • 浅谈function(函数)中的动态参数
  • 在Django中创建动态视图的教程

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 从零学Python之入门(二)基本数据类型
    • python开发环境PyScripter中文乱码问题解决方案
    • Python网络爬虫出现乱码问题的解决方法
    • python 循环while和for in简单实例
    • Python日期操作学习笔记
    • 通过C++学习Python
    • python3使用urllib示例取googletranslate(谷歌翻译)
    • 在Python中调用ggplot的三种方法
    • python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
    • python转换摩斯密码示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有