需要程序正确循环

时间:2012-11-29 01:58:38

标签: loops python-3.x

知道了。

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

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

2 个答案:

答案 0 :(得分: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)

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

答案 1 :(得分:0)

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

我假设sub.txt的每一行都有你想要的潜艇。读取sub.txt的所有行,将每行存储在可索引的数组中。围绕主代码设置循环,并在循环索引中通过数组引用,依次为每次所需的sub.txt行。