私はdeeplを使用して字幕を作成しようとしていますが、完全には動作していません。私は字幕を翻訳することができました。そして、私はその行の代わりに問題を抱えている部分のほとんどを管理しました。私はそれが印刷されるので行が翻訳されているのがわかりますが、行はそれらを置き換えません。プログラムを実行するたびに、元のファイルと同じになります。Python:ファイルから行を置き換えるのに問題があります
これは責任のコードです:
1
00:00:02,470 --> 00:00:04,570
- Yes, I do.
- (laughs)
2
00:00:04,605 --> 00:00:07,906
My mom doesn't want
to babysit everyday
3
00:00:07,942 --> 00:00:09,274
or any day.
4
00:00:09,310 --> 00:00:11,977
But I need
my mom's help sometimes.
5
00:00:12,013 --> 00:00:14,046
She's just gonna
have to be grandma today.
ヘルプがappreaciatedされます:) 感謝を:
def translate(input, output, languagef, languaget):
file = open(input, 'r').read()
fileresp = open(output,'r+')
subs = list(srt.parse(file))
for sub in subs:
try:
linefromsub = sub.content
translationSentence = pydeepl.translate(linefromsub, languaget.upper(), languagef.upper())
print(str(sub.index) + ' ' + translationSentence)
for line in fileresp.readlines():
newline = fileresp.write(line.replace(linefromsub,translationSentence))
except IndexError:
print("Error parsing data from deepl")
これは、ファイルがどのように見えるかです。
1つのファイルから読み込み、別のファイルに書き込む方が効果的です。前回よりも多くのデータを書き込むと、次の行が上書きされます。より多くのデータを保持するためにラインのサイズを変更しません。 – furas