Python Glossary English

Python 3.3+lzmaфункция

lzma.compress()

сжатие в памяти

Сжимает байты алгоритмом LZMA за один вызов; по умолчанию результат — контейнер .xz с контрольной суммой CRC64.

Синтаксис

data = lzma.compress(data, format=FORMAT_XZ, check=-1, preset=None, filters=None)

LZMA обычно жмёт плотнее bzip2 и zlib, но сжатие медленнее всех трёх; распаковка при этом быстрая. Строку нужно закодировать в bytes. Сжатые байты зависят от версии liblzma и параметров, поэтому в тестах сравнивают круговое сжатие-распаковку, а не результат. format=FORMAT_ALONE нужен только для совместимости со старыми .lzma.

Примеры

import lzma
raw = b'abcdef' * 1000
packed = lzma.compress(raw, preset=6)
print(len(packed) < len(raw), lzma.decompress(packed) == raw)  # → True True
print(packed[:6])  # → b'\xfd7zXZ\x00' — сигнатура контейнера xz

См. также

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