我想用 python 压缩大文本文件(我说的是 >20Gb 文件)。
我不是专家,所以我试图收集我找到的信息,以下似乎有效:
import bz2
with open('bigInputfile.txt', 'rb') as input:
with bz2.BZ2File('bigInputfile.txt.bz2', 'wb', compresslevel = 9) as output:
while True:
block = input.read(900000)
if not block:
break
output.write(block)
input.close()
output.close()
我想知道这个语法是否正确,是否有优化它的方法?我有一种印象,我在这里遗漏了一些东西。
非常感谢。
最佳答案
您的脚本似乎正确,但可以缩写:
from shutil import copyfileobj
with open('bigInputfile.txt', 'rb') as input:
with bz2.BZ2File('bigInputfile.txt.bz2', 'wb', compresslevel=9) as output:
copyfileobj(input, output)
关于python - 用python压缩大文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9518705/