首页 > 解决方案 > 如何遍历文件并删除符合条件的所有行?

问题描述

我有一个巨大的文件。我用其他软件试过了,还是不行。所以我想制作一个自定义脚本。但是,我自己无法解决。

我想删除具有以下条件的if "[" in line: 文件中的每一行: 有问题的文件是一个 .txt 文件,大约有 14,000,000 行。我更喜欢快速的东西。

我在此页面上尝试了其他类似的功能,但我找不到任何符合我要求的功能。

标签: python

解决方案


无需删除,您可以轻松地制作仅包含所需记录的文件副本。

in_file_path = 'xxxx'
out_file_path = 'yyyy'

with open(in_file_path, 'r') as fh_in:
    with open(out_file_path, 'w') as fh_out:
        for line in fh_in:
            if not '[' in line:
                fh_out.write(line) 

如果你想走得更快,你可以在二进制模式下读写并b'['在行中检查。


推荐阅读