簡體   English   中英

讀取行直到某個字符串並將其刪除

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM