2016-06-17 7 views
1

私は.txtファイルをPythonでGoogle Translate APIを使用して翻訳しようとしています。PythonでGoogle Translate APIを使用して.txtファイル全体を翻訳するには?

デフォルトのコードは次のとおりです。

print(service.translations().list(source='zh', 
            target='en', 
            q=['上海熙缘节能环保科技服务有限公司', 
            '广东宏德科技物业有限公司']).execute()) 

if __name__ == '__main__': 
    main() 

それは.txtファイルを変換することができますので、どのように私はこのコードを変更することができますか?複雑な詳細を知らずに私自身の観点から

+0

ファイルからテキストを読み取る方法を尋ねていますか? –

+0

はい、中国語の文字を使用しているため、ファイルはUTFまたはUnicodeです。デフォルトのデコーダはcp1252にあります – shj997

+0

[Google翻訳で翻訳するPythonスクリプト]の重複している可能性があります(http://stackoverflow.com/questions/9404628/python-script-to-translate-via-google-translate) –

答えて

0

簡単かつ効率的な解決策と私はパラメータqはあなたが翻訳したい文章/単語の順序はなりますある前提としています

print(service.translations().list(source='zh', target='en', q= (line.rstrip() for line in open('file.txt')).execute()) 

私はあなたの表現を見ます実際にはうんざりしないように、たくさんの式を1つの行に入れ子にします。

+0

ありがとうございましたdireprobs、 Googleが提供したものを使ってこれでUnicodeDecodeErrorが得られました: 'charmap'コーデックは、位置0x50のバイト0x9dをデコードできません。文字マップはエラーにマップされます。 Google TranslateのAPIはcp1252を使用していますが、中国語のテキストをUnicodeで保存して値を保持する必要があります。そうでない場合は消えます。 – shj997

+0

ここに、GoogleがDecoderクラスとして使用するコードがあります。IncrementalDecoder(codecs.IncrementalDecoder): def decode(self、input、final = False): return codecs.charmap_decode(input、self.errors、decoding_table)[0 ] クラスのStreamWriter(コーデック、codecs.StreamWriterに): パスクラスのStreamReader(コーデック、codecs.StreamReader): パス###エンコーディングモジュールAPI はDEF(getregentry): リターンcodecs.CodecInfo( name = 'cp1252'、 encode = Codec()。encode、 – shj997

+0

@ shj997このページを参照Pythonのドキュメント:[Unicode HOWTO](https://docs.python.org/3/howto/unicode.html) – direprobs

関連する問題