Python Glossary English

Python 3.14+compression.zstdпонятие

compression.zstd.CompressionParameter

параметры сжатия

Перечисление тонких настроек сжатия zstd — ключей словаря options: уровень, окно, стратегия, контрольная сумма, потоки.

Синтаксис

options={CompressionParameter.<имя>: значение}; CompressionParameter.<имя>.bounds()

Это IntEnum ключей, а не значения: options={CompressionParameter.checksum_flag: 1}. Допустимый диапазон каждого параметра зависит от версии libzstd и узнаётся методом bounds(); выход за него — ValueError. checksum_flag добавляет к кадру 4 байта контрольной суммы, которую распаковка проверяет. content_size_flag=0 убирает размер из заголовка, и get_frame_info его уже не покажет. nb_workers > 0 работает, только если libzstd собрана с многопоточностью.

Примеры

# Python 3.14+
from compression import zstd  # → ? нужна сборка CPython с libzstd
P = zstd.CompressionParameter
data = b'hello zstd ' * 100
plain = zstd.compress(data)
checked = zstd.compress(data, options={P.checksum_flag: 1})
print(len(checked) - len(plain))  # → 4 — байты контрольной суммы
print(P.compression_level.bounds())  # → ? (-131072, 22) — зависит от версии libzstd
try:
    zstd.compress(data, options={P.window_log: 100})
except ValueError:
    print('ValueError')  # → ValueError

См. также

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

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