国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python在命令行下使用google翻譯(帶語音)

2020-02-23 05:04:35
字體:
來源:轉載
供稿:網友

說明

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)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九龙坡区| 桐梓县| 凤山县| 弋阳县| 克什克腾旗| 六枝特区| 临清市| 东港市| 阿合奇县| 新龙县| 沛县| 霍林郭勒市| 武陟县| 安顺市| 大姚县| 翼城县| 凤阳县| 双鸭山市| 金堂县| 宜君县| 通河县| 滦平县| 沙雅县| 泸定县| 金平| 乌审旗| 杂多县| 徐州市| 临洮县| 金沙县| 吉木乃县| 江安县| 灵丘县| 富锦市| 土默特左旗| 开封县| 肃宁县| 河南省| 和硕县| 诸城市| 温泉县|