Python Glossary English

Python 3.3+lzmaпонятие

lzma.LZMADecompressor

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

Объект для потоковой распаковки LZMA/XZ; по умолчанию сам определяет формат входа.

Синтаксис

d = lzma.LZMADecompressor(format=FORMAT_AUTO, memlimit=None, filters=None)

Один объект — один поток: после конца eof=True, лишние байты лежат в unused_data, а повторный вызов даёт EOFError. Атрибут check сообщает, какая контрольная сумма записана в потоке, но становится известен только после разбора заголовка. memlimit ограничивает память декодера и спасает от архивов, сжатых с огромным словарём.

Примеры

import lzma
d = lzma.LZMADecompressor()
packed = lzma.compress(b'payload', check=lzma.CHECK_SHA256)
print(d.decompress(packed + b'extra'), d.eof, d.unused_data)  # → b'payload' True b'extra'
print(d.check == lzma.CHECK_SHA256)  # → True
try:
    d.decompress(b'x')
except EOFError as e:
    print(e)  # → Already at end of stream

См. также

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

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