[英]Read lines until certain string and remove it
我有一个小的 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
关于我如何做到这一点的任何建议?
这应该做的工作:
with open('teste.txt') as f:
lines = f.readlines()
for i, line in enumerate(lines):
if search in line:
lines = lines[i + 1:]
break
with open('teste.txt', 'w') as f:
f.writelines(lines)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.