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 - 你能否請建議它可以完成的方式。 –