我正在尝试编写一个python脚本,该脚本将获取一个文件(我们将其称为input.txt),并查找以文本“move to first perimeter point”结尾的行,然后它需要将这行替换为它后面的行,并将它后面的行替换为第一行。文件的其余部分必须保持不变。有很多实例需要在文件中发生这种情况。在
我的思维过程是这样的。查找以“移动到第一个周界点”结尾的行。一旦代码找到它,它会将该行保存为变量,然后从文件中删除该行。然后,如果下一行以“restore layer Z”结尾(下一行总是这样),则需要在这行后面添加先前删除的行。在Here is what I am trying to do:打开一个文件('input.txt')。在
连续两行交换,其中,
第一行以:'move to first perimeter point'结尾
第二行以:'restore layer Z'结尾
注意:众所周知,所有此类事件都会成对发生(连续放置第一-第二行)。在
将此更改写入新文件('output.txt')。在
我试过用python把它组合起来。我几年前就玩过python了,还依稀记得怎么用它。它抛出了错误。以下是我在注释部分建议的更正后的代码:(a)str.endwith --> str.endswith,(b)For --> for。任何建议都会很有帮助和感激。在inp = open('input.txt','r')
out = open('output.txt', 'w')
prev = inp.readline()
for line in inp:
if line.endswith('move to first perimeter point')
prev = line
if line.endswith('restore layer Z')
out.write(line)
out.write(prev)
else:
out.write(prev)
prev = line
out.write(prev)
out.close()
inp.close
我希望输入文件保持不变,同时创建一个新的输出文件。相反,什么也没发生。在
提前感谢您的帮助!我对这个很陌生。在