1
我正在使用.gz扩展名文件,我需要以最少的处理时间从文件中删除特定模式,而不是根本不更改文件。使用python从.gz文件中删除特定的行(模式)以获得较大的文件大小
我正在使用.gz扩展名文件,我需要以最少的处理时间从文件中删除特定模式,而不是根本不更改文件。使用python从.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)
注意,输入和输出文件必须是不同的。
感谢您根据功能进行的更改,但我想修改相同的文件。这里它创建一个新的文件名 - “output.gz”并将原始文件写入它。 是否可以在同一个文件上修改而不是创建一个新文件 –
不是没有先读取整个文件到内存中,这正是你想要避免使用指定的大文件 – Mause
@Lord_DeathMatch - 你能否请建议它可以完成的方式。 –