为什么写这个程序,为什么不给这个程序配备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中实现工厂模式可以通过创建一个统一的接口来创建不同类型的对象。具体步骤如下:1.定义一个基础类和多个继承类,如Vehicle、Car、Plane和Train。2.创建一个工厂类VehicleFactory,使用create_vehicle方法根据类型参数返回相应的对象实例。3.通过工厂类实例化对象,如my_car=factory.create_vehicle("car","Tesla")。这种模式提高了代码的可扩展性和可维护性,但需注意其复杂

在Python中,r或R前缀用于定义原始字符串,忽略所有转义字符,让字符串按字面意思解释。1)适用于处理正则表达式和文件路径,避免转义字符误解。2)不适用于需要保留转义字符的情况,如换行符。使用时需谨慎检查,以防意外的输出。

在Python中,__del__方法是对象的析构函数,用于清理资源。1)不确定的执行时间:依赖垃圾回收机制。2)循环引用:可能导致无法及时调用,使用weakref模块处理。3)异常处理:在__del__中抛出的异常可能被忽略,使用try-except块捕获。4)资源管理的最佳实践:推荐使用with语句和上下文管理器管理资源。

pop()函数在Python中用于从列表中移除并返回指定位置的元素。1)不指定索引时,pop()默认移除并返回列表的最后一个元素。2)指定索引时,pop()移除并返回该索引位置的元素。3)使用时需注意索引错误、性能问题、替代方法和列表的可变性。

Python进行图像处理主要使用Pillow和OpenCV两大库。Pillow适合简单图像处理,如加水印,代码简洁易用;OpenCV适用于复杂图像处理和计算机视觉,如边缘检测,性能优越但需注意内存管理。

在Python中实现PCA可以通过手动编写代码或使用scikit-learn库。手动实现PCA包括以下步骤:1)中心化数据,2)计算协方差矩阵,3)计算特征值和特征向量,4)排序并选择主成分,5)投影数据到新空间。手动实现有助于深入理解算法,但scikit-learn提供更便捷的功能。

在Python中计算对数是一件非常简单却又充满趣味的事情。让我们从最基本的问题开始:怎样用Python计算对数?用Python计算对数的基本方法Python的math模块提供了计算对数的函数。让我们来看一个简单的例子:importmath#计算自然对数(底数为e)x=10natural_log=math.log(x)print(f"自然对数log({x})={natural_log}")#计算以10为底的对数log_base_10=math.log10(x)pri

要在Python中实现线性回归,我们可以从多个角度出发。这不仅仅是一个简单的函数调用,而是涉及到统计学、数学优化和机器学习的综合应用。让我们深入探讨一下这个过程。在Python中实现线性回归最常见的方法是使用scikit-learn库,它提供了简便且高效的工具。然而,如果我们想要更深入地理解线性回归的原理和实现细节,我们也可以从头开始编写自己的线性回归算法。使用scikit-learn实现线性回归scikit-learn库封装了线性回归的实现,使得我们可以轻松地进行建模和预测。下面是一个使用sc


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

记事本++7.3.1
好用且免费的代码编辑器

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。