尝试替换文本文件中的字符串,x行从唯一行向下

时间:2017-03-13 17:02:21

标签: python string python-2.7 file

我试图替换文本文件中的字符串,其他地方存在相同的字符串,但我只是尝试从文件中的唯一行更改几行的字符串

下面我有代码搜索唯一的行,然后从该行搜索x次,直到我到达我需要的行。 我更换线然后它将继续,直到范围结束或者它击中另一条唯一线(这只是一个'}'),

它的工作有点但它用值替换所有字符串而不是我想要的那个

继承我的代码:

lines = filedata.split("\n")
for line in lines:
  if line == 'unique line':
    for i in range(50):
       if lines[lines.index(line) + i].startswith(' linetoreplace'):
                        filedata = filedata.replace(lines[lines.index(line) + i], 'newstring')
       if lines[lines.index(line) + i].startswith('}'):
                       break

感谢任何帮助或指示,谢谢

1 个答案:

答案 0 :(得分:0)

完成更换行后,您可以添加一个中断:

done_changing = false
for i in range(50):

    if lines[lines.index(line) + i].startswith(' linetoreplace'):
                        filedata = filedata.replace(lines[lines.index(line) + i], 'newstring')
                        done_changing = True
                        break
    if done_changing:
        break

这样,您将在替换一行后退出循环,并保持其他行不变。