python在命令行下使用google翻译(带语音)


在Python命令行下使用Google翻译并带有语音功能,你可以使用`googletrans`库进行翻译,并使用`gTTS`(Google Text-to-Speech)库将翻译后的文本转换为语音。但请注意,由于Google的API政策变化,直接使用这些库可能受到限制或需要额外的API密钥。不过,对于基本的用途,这些库通常可以工作。

首先,你需要安装这两个库(如果尚未安装):


pip install googletrans==4.0.0-rc1 gtts

请注意,`googletrans`库的版本可能会更新,这里使用的是`4.0.0-rc1`,因为它在撰写本文时是最新且支持Python 3的。

然后,你可以使用以下Python脚本来实现翻译和语音功能:


from googletrans import Translator, LANGUAGES
from gtts import gTTS
import os

def translate_text_to_speech(text, src='auto', dest='en'):
    translator = Translator()
    translated = translator.translate(text, src=src, dest=dest)
    print(f"原文: {text}")
    print(f"翻译: {translated.text}")

    # 将翻译后的文本转换为语音
    tts = gTTS(translated.text, lang=LANGUAGES[dest])
    tts.save("translated_audio.mp3")
    print("语音文件已保存为 translated_audio.mp3")

    # 如果你想在命令行中直接播放(需要安装 playsound 库)
    # pip install playsound
    # from playsound import playsound
    # playsound("translated_audio.mp3")

# 示例用法
translate_text_to_speech("你好,世界!", src='zh-cn', dest='en')

在这个脚本中,`translate_text_to_speech`函数接受要翻译的文本、源语言和目标语言作为参数。它使用`googletrans`进行翻译,并使用`gTTS`将翻译后的文本转换为MP3格式的语音文件。然后,它打印出原文和翻译后的文本,并保存语音文件。

请注意,由于`googletrans`和`gTTS`库依赖于Google的API,它们可能会在未来的某个时间点停止工作或需要更新。此外,由于Google的API政策,这些库可能无法在所有情况下都正常工作。

另外,我注释掉了直接播放音频的代码部分,因为直接在命令行中播放音频可能需要额外的库(如`playsound`),并且可能不是所有环境都支持。如果你需要播放音频,可以取消注释相关代码并安装`playsound`库。