[英]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.