首页 > 解决方案 > 在 Python 中删除包含特定数字的行

问题描述

我想知道是否有办法从包含特定数字(或数字)的文件中删除行。

我知道有一种方法可以删除包含特定字符串的行,但我想删除包含特定数字的行。

假设我有一个包含以下数据的文本文件:

201 740 0
202 288 4
202 294 3
202 330 5
202 358 1
202 259 0

我想删除包含数字 0 的行,只是 0(不是 201、202 或任何其他包含 0 的数字)。

我希望示例输出为:

201 740 0
202 259 0

我该怎么做呢?

我尝试了以下方法:

with open('oldfile.txt') as infile, open('newfile.txt', 'w') as outfile:
    for line in infile:
        if '0':
            outfile.write(line)

但它仍然写每一行,我只想要那些本身有数字0的行。

提前致谢!

标签: pythonpython-3.xfile

解决方案


你可以试试:

if line.strip().endswith(" 0"):
    pass
else:
    outfile.write(line)

跳过以“0”结尾的行outfile


推荐阅读