对于大文件,使用 python 从 .gz 文件中删除特定行(模式)

Delete specific line(pattern) from .gz file using python for large file size

我正在处理 .gz 扩展文件,我需要以最少的处理时间从文件中删除特定模式并且根本不改变文件。

您尝试过使用 gzip.GzipFile 吗?参数类似于 open.

如果某个条件不匹配,从一个文件读取一行并写入另一个文件的示例:

import gzip

with gzip.GzipFile('output.gz', 'w') as fout:
    with gzip.GzipFile('input.gz','r') as fin:
        for line in fin:
            if not your_remove_condition(line):
                fout.write(line)

注意输入输出文件必须不同