python在命令行下使用google翻译(带语音)
2014-01-16 00:00
971 查看
说明
1. 使用google翻译服务获得翻译和语音;
2. 使用mplayer播放获得的声音文件,因此,如果要播放语音,请确保PATH中能够找到mplayer程序,如果没有mplayer,请将use_tts设置为False运行。即:
main(use_tts=False)
3. 退出程序,输入"x",回车。
1. 使用google翻译服务获得翻译和语音;
2. 使用mplayer播放获得的声音文件,因此,如果要播放语音,请确保PATH中能够找到mplayer程序,如果没有mplayer,请将use_tts设置为False运行。即:
main(use_tts=False)
3. 退出程序,输入"x",回车。
#! /usr/bin/env python #coding=utf-8 import requests def translate(words): import re url = ("http://translate.google.cn/translate_a/t?" "client=t&hl=zh-CN&sl=en&tl=zh-CN&ie=UTF-8&oe=UTF-8&oc=1&otf=2&ssel=3&tsel=0&sc=1&q=%s") ret = requests.get(url % words) if ret.status_code == 200: RULE_TRANSLATE = re.compile('''([^\[\]]+?)\]\]''') match = RULE_TRANSLATE.search(ret.text) t, o, s, _ = match.group(1).split(u",") print u"译文:", t[1:-1] print u"发音:", s[1:-1] print "" else: raise Exception("Google翻译服务状态码异常。") def tts(words): import subprocess url = "http://translate.google.cn/translate_tts?ie=UTF-8&q=%s&tl=en&total=1&idx=0&textlen=4&prev=input" ret = requests.get(url % words) if ret.status_code == 200: ext = ret.headers["content-type"].split("/")[1] filename = "tts.%s" % ext with open(filename, "wb") as f: f.write(ret.content) # 不显示mplayer的输出 log_file = "./mplayer.log" with open(log_file, "w") as f: subprocess.call(["mplayer", filename], stdout=f, stderr=f) else: raise Exception("Google TTS服务状态码异常。") def main(use_tts=True): while 1: #在window下raw_input不能直接提示中文,需要u"中文".encode("gbk") #为了与平台无关,这里直接提示"English:" words = raw_input("English:") if words == "x": break if use_tts: tts(words) translate(words) if __name__ == "__main__": main(use_tts=True)
相关文章推荐
- python在命令行下使用google翻译(带语音)
- python 使用ssh连接服务器进行远程命令行操作
- Python命令行解析argparse常用语法使用简介
- python命令行无法使用退格键、方向键
- Python Click使用命令行短参数(short option)
- 使用python开发命令行程序的知识点
- 在命令行用使用有道翻译,python写一个命令行有道词典
- 使用python开发命令行程序的知识点
- texturepacker使用python调用命令行对批量图片进行打包
- 使用百度翻译开放API构建的python命令行词典
- python使用pyttsx实现文本转语音
- 使用python开发命令行程序的知识点之二
- 毕业设计-基于深度神经网络的语音关键词检出系统-使用python脚本作词频统计-Librispeech
- 【Python】使用cmd模块构造一个带有后台线程的交互命令行界面
- python argparse模块解析命令行选项简单使用
- 同时装了Python3和Python2,怎么在命令行使用pip
- Python学习日志(三)之命令行的使用
- Python使用getopt处理命令行操作
- Python解析命令行读取参数--argparse模块使用方法