Python Glossary Русский

Python 3.3+lzmaterm

lzma.LZMACompressor

streaming compression

An object for streaming LZMA/XZ compression piece by piece, with a choice of format, level and checksum.

Syntax

c = lzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None)

As with BZ2Compressor, compress() may return empty bytes and only flush() hands over the real tail; after flush() the object takes no more data. FORMAT_RAW needs explicit filters, or you get ValueError. preset 9 compresses better but needs hundreds of megabytes of memory both to compress and to decompress.

Examples

import lzma
c = lzma.LZMACompressor()
data = b''.join(c.compress(b'chunk ' * 500) for _ in range(4)) + c.flush()
print(lzma.decompress(data) == b'chunk ' * 2000)  # → True
try:
    lzma.LZMACompressor(format=lzma.FORMAT_RAW)
except ValueError as e:
    print(e)  # → Must specify filters for FORMAT_RAW

See also

Common errors

Open in the full glossarydocs.python.orgReport an inaccuracy