Python Glossary English

Python 3.14+compression.zstdфункция

compression.zstd.compress()

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

Сжимает байты алгоритмом Zstandard за один вызов и возвращает полный кадр zstd. Уровень от отрицательных (быстро) до 22 (плотно).

Синтаксис

compression.zstd.compress(data, level=None, options=None, zstd_dict=None)

level и options взаимоисключающие: передать оба — TypeError, уровень тогда задают через CompressionParameter.compression_level в options. Уровень вне допустимого диапазона даёт ValueError с названием диапазона, по умолчанию уровень 3. Отрицательные уровни — режим «быстрее любого gzip», а не ошибка. Вход — только bytes-подобный объект: строку сначала кодируют .encode().

Примеры

# Python 3.14+
from compression import zstd  # → ? нужна сборка CPython с libzstd
data = 'строка лога\n'.encode() * 200
packed = zstd.compress(data, level=10)
print(len(packed) < len(data), packed[:4])  # → True b'(\xb5/\xfd' — магия кадра zstd
print(zstd.decompress(packed) == data)  # → True
# Python 3.14+
from compression import zstd  # → ? нужна сборка CPython с libzstd
try:
    zstd.compress(b'x', level=3, options={zstd.CompressionParameter.checksum_flag: 1})
except TypeError as e:
    print(e)  # → Only one of level or options should be used.
try:
    zstd.compress(b'x', level=100)
except ValueError as e:
    print('ValueError')  # → ValueError

См. также

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

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