google 中文翻译英文的python脚本 - 命令 ver2

Ubuntu每日小技巧:

这个是在前面的一个翻译基础上增加了一些功能

学习中的知识点:  利用os.system 执行系统命令

从而也了解到ubuntu系统的一个朗读命令  espeak 需要朗读的单词 And 句子

同时也发现一个问题. 执行命令的时候 朗读完成以后才显示翻译结果.

不知道具体怎么解决.那个朋友如果有解决办法给我留个言谢谢了.

Python代码
  1. #!/usr/bin/python  
  2. #-*-coding:utf-8-*-  
  3.   
  4. # 使用httplib进行post数据  
  5.   
  6. import httplib, urllib; #加载web通讯类模块  
  7. import sys,getopt; #加载获取命令行参数模块  
  8. import os; #加载这个是为了使用系统自带的espeak的朗读功能  使用方法 os.system("")  
  9.   
  10. opts,argv = getopt.getopt(sys.argv[1:],'',['']); #获取命令行参数  
  11. c = " ";  
  12. argv = c.join(argv); #对参数进行整合  
  13. print "翻译",argv,"==>",;  
  14. params = urllib.urlencode({'sl':'zh-CN',  
  15.                            'tl':'en',  
  16.                            'text':argv,  
  17.                            'client':'t'}); #进行GET or POST的参数列表  
  18. headers = {"User-Agent""Mozilla/5.0+(compatible;+Googlebot/2.1;++http://www.google.com/bot.html)"#输出标头  
  19. conn = httplib.HTTPConnection("translate.google.cn"); #创建一个特定连接  
  20. conn.request("GET","/translate_a/t?" + params,headers=headers);  #发送数据请求  
  21. data = conn.getresponse();  #返回得到的数据结果  
  22. data1 = data.read(); # 读取返回结果  
  23. conn.close(); #关闭连接  
  24. print data1;  
  25. os.system('espeak "%s"' % data1); #并进行朗读  

Tags: 中文翻译, python脚本, shells

2条记录访客评论

两个地方可以改进一下:
21行 改成  data = conn.getresponse().read();
22行 删除

24行 改成 print data;
25行 改成 os.system(\'espeak %s\' % data);  # 以前写的不能朗读句子

Post by ripsy on 2008, October 26, 9:42 PM 引用此文发表评论 #1

print之后加一句 os.sys.stdout.flush() 就可以了

Post by ruf on 2008, October 28, 6:34 AM 引用此文发表评论 #2


发表评论

评论内容 (必填):