Python Glossary English

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

compression.zstd.ZstdFile

файлы zstd

Двоичный файловый объект, сжимающий данные в формат Zstandard при записи и распаковывающий при чтении; работает и с BytesIO.

Синтаксис

compression.zstd.ZstdFile(file, /, mode='rb', *, level=None, options=None, zstd_dict=None)

Только двоичные режимы 'r', 'w', 'x', 'a': 'rt' даёт ValueError — для текста оберните в io.TextIOWrapper или возьмите zstd.open. Переданный готовый файловый объект ZstdFile при закрытии не закрывает, а файл, открытый им по имени, закрывает. Режим 'a' не дописывает в старый кадр, а добавляет новый; читается результат как одно целое. level разрешён только при записи — при чтении TypeError.

Примеры

# Python 3.14+
from compression import zstd  # → ? нужна сборка CPython с libzstd
with zstd.ZstdFile('log.zst', 'w', level=10) as f:
    f.write(b'abc')
with zstd.ZstdFile('log.zst', 'a') as f:
    f.write(b'def')  # второй кадр
with zstd.ZstdFile('log.zst') as f:
    print(f.read(), f.mode)  # → b'abcdef' rb
# Python 3.14+
import io
from compression import zstd  # → ? нужна сборка CPython с libzstd
buf = io.BytesIO()
with zstd.ZstdFile(buf, 'w') as f:
    f.write(b'x' * 1000)
print(buf.closed, zstd.decompress(buf.getvalue()) == b'x' * 1000)  # → False True
zstd.ZstdFile(buf, 'rt')  # → ValueError: Invalid mode: 'rt'

См. также

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

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