【问题标题】:I need to translate the English .txt file to German language using AWS translate service and boto3我需要使用 AWS 翻译服务和 boto3 将英文 .txt 文件翻译成德语
【发布时间】:2019-06-11 22:09:12
【问题描述】:

我能够将特定的英语单词转换为德语单词。但我希望转换整个 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 或本地。

【问题讨论】:

    标签: python amazon-web-services boto3


    【解决方案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'))
    
    

    【讨论】:

    • 我尝试使用下面的代码code import boto3 data = 'file.txt' translate = boto3.client(service_name='translate', region_name='us-east-1', use_ssl= True) 使用 open(r'C:\Users\ashish\Documents\AWS S3\file.txt', 'rb') 作为文本: 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('目标语言代码'))
    • 答案是正确的,但有一个小错误。而不是with open(file, 'r') as text:,您必须输入with open('file.txt', 'r') as text。没有变量名文件。我已经在我的帐户上尝试过,它有效。
    • 有没有一种方法可以使用特定的目录分开使用一个特定的文件并将输出保存在某个特定的路径中。例如:转换某个特定文件夹中存在的所有文件,然后将转换后的文件保存在某个特定路径中。
    • 使用以下将输出保存到文本文件。 code file = open("sample.txt","w") file.write(result.get('TranslatedText')) file.close()
    • Ninad,感谢您纠正这个错误,我知道问题出在哪里:p
    猜你喜欢
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    • 2019-09-12
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    相关资源
    最近更新 更多