ホームページ  >  記事  >  バックエンド開発  >  Python はコマンドラインから Google 翻訳を使用します (音声付き)

Python はコマンドラインから Google 翻訳を使用します (音声付き)

WBOY
WBOYオリジナル
2016-06-16 08:45:381319ブラウズ

手順

1. Google 翻訳サービスを使用して翻訳と音声を取得します。
2. mplayer を使用して、取得した音声ファイルを再生する必要があります。 mplayer がない場合は、use_tts を False に設定して実行してください。つまり:
main(use_tts=False)
3. プログラムを終了し、「x」を入力して Enter キーを押します。

コードをコピーします コードは次のとおりです:

#! /usr/bin/env python
#coding= utf-8

インポートリクエスト


def translation(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('''([^[]]+?)]]''')
一致 = 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):
サブプロセスのインポート
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"
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:
#raw_input ではウィンドウの下で中国語を直接プロンプトすることはできません。u" Chinese".encode("gbk")
#Forプラットフォームに関係なく、直接プロンプト "English:"
Words = raw_input("English:")
if Words == "x":
Break
if use_tts:
tts(単語)
翻訳(単語)

if __name__ == "__main__":
main(use_tts=True)

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。