0

知道了。

while 1:
    line = sub.readline().split()
    if line == []:
        new = main
        break
    else:
        new = main.replace(line[0],line[1])
        main = new

这似乎对我有用。感谢您的帮助=)。

4

2 回答 2

0

正如 Cameron 所指出的,这种方法每次都会覆盖输出文件,因此只记录您的最后一次更改。

此块中的错误是:

while True:
   word = substitute.readline().split()
   print(word)
   if word == []: // ---Indentation ---
       break
   else:
       new = (main_story.read().replace(word[0],word[1]))
       new_story.write(new)

您需要一次读取完整的文件,进行更改并写入文件。或者您可以从第一个文件中读取,然后对新文件进行后续读/写。

于 2012-11-29T02:02:55.577 回答
0

尝试另一个循环,并在该循环中索引您需要发生的单词交换:

我假设 sub.txt 的每一行都有你想要的 subs。读取 sub.txt 的所有行,将每一行存储在一个可索引的数组中。围绕您的主代码设置一个循环,并在该循环索引中通过数组引用,按顺序排列您每次想要的 sub.txt 行。

于 2012-11-29T02:06:45.840 回答