Python中根据条件删除文本文件中文本中的行

问题描述 投票:0回答:1

我有一个文本文件,我想从中删除所有数据,直至我看到值“NODATACODE”。

文本文件中的文本为:

  >MMMMM ; MMMMM : MMMMMMMMMMN, AAAAAAAAAAA,52, AAAA,CCCCCC, MMMMM ; MMMMM : MMMMMMMMMMN, 
  >AAAAAAAAAAA,200, AAAA,CCCCCC,;MMMMM ; MMMMM : MMMMMMMMMMN, AAAAAAAAAAA,53, 
  >AAAA,CCCCCC,AAAA AAAAA AAAAAAAAAAA AAAAAAAAAAA AAAAAAAAAAA NODATACODE, : Food Meal

请让我知道如何用 Python 编写代码来执行此任务。

提前谢谢您。

python text text-files python-3.11
1个回答
0
投票

您需要打开文件并逐行读取的代码。

with open(filename, 'r') as file:
    lines = file.readlines()

接下来,您需要一个 for 循环来读取每一行并检查 NODATACODE 是否存在。

for line in lines: 
    if 'NODATACODE' in line: # Here we will find a line containing NODATACODE
        found = True

找到带有 NODATACODE 的行后,您需要将从找到的行开始添加到列表中。

... # In the same cycle
    if found:
        new_lines.append(line)

列表必须保存到文件中才能覆盖当前文件。

with open(filename, 'w') as file:
    file.writelines(new_lines)
© www.soinside.com 2019 - 2024. All rights reserved.