Python脚本将文本写入文件,但不添加它应该的文本

Yng*_*gve 3 python file-manipulation

我很惭愧再次求助,但我被困住了.

我有一本西班牙小说(纯文本),我有一个Python脚本,它应该在括号中使用自定义字典在另一个文本文件中放置难以翻译的单词.

经过大量的反复试验,我已经设法让脚本运行,并将小说写成新的文本文件,就像它应该做的那样.

唯一的问题是,小说中的文本没有发生任何变化,也就是说,翻译没有插入到文本中.字典是纯文本文件,格式如下:

[spanish word] [english translation]                                      
[spanish word] [english translation]
Run Code Online (Sandbox Code Playgroud)

等等.请注意,这些单词并未真正括在括号中.每个单词之间只有一个空格,文件中的其他地方没有空格.

这是有问题的代码:

bookin = (open("novel.txt")).read()
subin = open("dictionary.txt")
for line in subin.readlines():
    ogword, meaning = line.split(" ")
    subword = ogword + "(meaning)"
    bookin.replace(ogword, subword)
    ogword = ogword.capitalize()
    subword = ogword + "(meaning)"
    bookin.replace(ogword, subword)
subin.close()
bookout = open("output.txt", "w")
bookout.write(bookin)
bookout.close()
Run Code Online (Sandbox Code Playgroud)

建议将不胜感激.

编辑:MemoryError现在已经解决了,字典中有错误,我认为我已经修复了.非常感谢那些帮助我解决这个愚蠢问题的人!

Dav*_*son 7

更改:

bookin.replace(ogword, subword)
Run Code Online (Sandbox Code Playgroud)

bookin = bookin.replace(ogword, subword)
Run Code Online (Sandbox Code Playgroud)

说明:replace不会更改字符串 - 事实上,字符串是不可变的 - 而是返回一个新版本.