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Сообщить о неточности