Python Glossary English

все Python 3bz2понятие

bz2.BZ2Decompressor

потоковое сжатие

Объект для потоковой распаковки bzip2: принимает сжатые данные частями и отдаёт распакованные.

Синтаксис

d = bz2.BZ2Decompressor()

Один объект распаковывает ровно один поток: дойдя до конца, он ставит eof=True, а всё лишнее складывает в unused_data — в отличие от bz2.decompress(), который склеивает несколько потоков сам. Повторное использование после eof даёт EOFError. Параметр max_length ограничивает выдачу и защищает от «zip-бомбы».

Примеры

import bz2
d = bz2.BZ2Decompressor()
print(d.decompress(bz2.compress(b'data') + b'tail'))  # → b'data'
print(d.eof, d.unused_data)  # → True b'tail'
try:
    d.decompress(b'more')
except EOFError as e:
    print(e)  # → End of stream already reached

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности