我需要使用AWS翻译服务和boto3将英语.txt文件翻译为德语

时间:2019-06-11 12:31:15

标签: python amazon-web-services boto3

我能够将特定的英语单词转换为德语单词。但我希望转换整个local.txt文件。

import boto3

translate = boto3.client(service_name='translate', region_name='us-east-1', use_ssl=True)

result = translate.translate_text(Text="Good Evening", 
        SourceLanguageCode="en", TargetLanguageCode="de")
print('TranslatedText: ' + result.get('TranslatedText'))
print('SourceLanguageCode: ' + result.get('SourceLanguageCode'))
print('TargetLanguageCode: ' + result.get('TargetLanguageCode'))

我正在寻找一种转换流数据或本地文本文件,然后将其保存到S3或本地的方法。

1 个答案:

答案 0 :(得分:1)

由于我没有AWS账户,因此无法直接测试API。但是,我可以提供我认为可以使用的功能。

首先,读取要转换为变量的文本文件。

with open('text_to_translate.txt', 'r') as text:
   variable_containing_text = text.read()

然后,只需为翻译器输入变量,而不是字符串即可。

result = translate.translate_text(Text=variable_containing_text, 
        SourceLanguageCode="en", TargetLanguageCode="de")

放在代码中后,它应如下所示:

import boto3

data = 'file.txt'

translate = boto3.client(service_name='translate', region_name='us-east-1', use_ssl=True)

with open(file, 'r') as text:
   data = text.read()

result = translate.translate_text(Text=data, 
        SourceLanguageCode="en", TargetLanguageCode="de")
print('TranslatedText: ' + result.get('TranslatedText'))
print('SourceLanguageCode: ' + result.get('SourceLanguageCode'))
print('TargetLanguageCode: ' + result.get('TargetLanguageCode'))