读行,直到某个字符串出现,然后将其删除

2024-05-23 14:38:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个小python代码,它打开一个文件,读取它直到某个字符串,然后打印它

代码如下:

filename = 'teste.txt'

with open(filename, 'r') as input:
   for line in input:
     print(line)
     if '**==**' in line:
       break

打印完成后,我需要将其从文件中删除,基本上删除行直到**==**,保留其他行不变

我试过:

search = '**==**'
for i, line in enumerate(lines):
  print(line)
  if search in line:
      break

if i < len(lines) - 1:
    with open('teste.txt', 'w') as f:
        f.write('\n'.join(lines[i + 1:]))

但是每次我运行代码时,“下一行块”之间就开始有很多空格

该文件的大小可以在6到10 MB之间

对我如何做有什么建议吗


Tags: 文件代码intxtforinputifas