我想用 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/

10-13 05:45