Сжатие больших файлов с помощью python

Я хочу сжимать большие текстовые файлы с помощью python (я говорю о файлах размером> 20 ГБ) . Я ни в коем случае не являюсь экспертом, поэтому я попытался собрать информацию, которую нашел, и, похоже, следующее работает:

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()

Мне интересно, верен ли этот синтаксис и есть ли способ его оптимизировать? У меня такое впечатление, что мне здесь чего-то не хватает.

Большое спасибо.

12
задан user1242959 1 March 2012 в 15:14
поделиться