Python Glossary English

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

compression.zstd.finalize_dict()

словари

Превращает «сырой» словарь (просто байты с типичными фрагментами) в полноценный словарь zstd с заголовком и статистикой по образцам.

Синтаксис

compression.zstd.finalize_dict(zstd_dict, /, samples, dict_size, level)

Нужна, когда содержимое словаря вы собрали сами, а не через train_dict: сырой ZstdDict(is_raw=True) имеет dict_id 0 и не несёт таблиц энтропии, а после finalize_dict получает свой id и сжимает лучше. dict_size должен вместить исходное содержимое плюс служебную часть, иначе ZstdError «Destination buffer is too small». level — уровень, под который настраивается статистика; сжимайте потом с ним же.

Примеры

# Python 3.14+
from compression import zstd  # → ? нужна сборка CPython с libzstd
samples = [f'{{"id": {i}, "name": "user{i}", "active": true}}'.encode() for i in range(200)]
raw = zstd.ZstdDict(b'{"id": , "name": "user", "active": true}', is_raw=True)
print(raw.dict_id)  # → 0 — сырой словарь без id
full = zstd.finalize_dict(raw, samples, 2048, 3)
print(full.dict_id != 0)  # → True
one = samples[7]
print(zstd.decompress(zstd.compress(one, zstd_dict=full), zstd_dict=full) == one)  # → True

См. также

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