我正在寻求运行googletrans来翻译单个文件夹中的一系列300.txt文件。我正在努力构建一个循环,使我能够运行每个文件的翻译,并将输出写入新的.txt文件。Googletrans对批量翻译有限制,所以我很乐意一次将迭代次数限制在50个文件。
以下是用于翻译单个文件的代码。它先打印原始的txt文件,然后打印翻译后的文件,最后将文件输出为新的txt文件。
from googletrans import Translator
f = open('Translation Projectpage_323.txt', 'r')
if f.mode == 'r':
contents = f.read()
print(contents)
translator = Translator()
result = translator.translate(contents, dest='en')
print(result.text)
with open('Translation Projecttrans_page_323.txt', 'w') as f:
f.write(result.text)
有什么想法吗?Python新手,仍然在循环中思考。
假设有999页,文件的格式为trans_page_1.txt
而不是trans_page_001.txt
,并且第一页是第1页,而不是第0页:
from googletrans import Translator
translator = Translator()
for page_number in range(1, 999):
f = open(f'Translation Projectpage_{page_number}.txt', 'r')
if f.mode == 'r':
contents = f.read()
print(contents)
result = translator.translate(contents, dest='en')
print(result.text)
with open(f'Translation Projecttrans_page_{page_number}.txt', 'w') as f:
f.write(result.text)
这并不限制翻译的文件,但您可以通过将最大页面更改为50页或进行其他代码恶作剧来实现这一点。