首页 > 解决方案 > 删除文本文件中的完整文本行(在 Python 上)

问题描述

我正在使用一个包含 12000 行代码的输出日志文件,其中大部分包含如下所示的内容:

"760.0132   EXP     window1: blendMode = 'avg'" 

我的目标是完全删除任何具有“EXP window1: blendMode = 'avg'”的行。我可以从找到它的所有行中删除该文本位,但不能从数字中删除。这是我用来删除文本位的代码(借自另一个堆栈溢出问题/答案):

infile = "01_Day1_run1.txt"
outfile = "01_Day1_run1_cleaned.txt"

delete_list = ["    EXP     window1: blendMode = 'avg'"]

fin = open(infile)
fout = open(outfile, "w+")
for line in fin:
for word in delete_list:
    line = line.replace(word, "")
fout.write(line)

fin.close()
fout.close()

我希望我能够添加类似的东西

delete_list = ["1**.****    EXP     window1: blendMode = 'avg'"]

为了删除包含所有文本的任何数字,以及该行中的任何数字,但它似乎不起作用。任何关于如何最好地清理日志文件的建议将不胜感激。

非常感谢,西蒙

标签: pythonfiletext

解决方案


为什么要使用 Python 来执行此操作?您可以使用简单的grep -vor来执行此操作findstr /V,如下例所示:

Prompt>grep -v "blendmode" input.txt >output.txt

推荐阅读