Многокадровый файл ZSTD: как получить метаданные каждого кадра?Python

Программы на Python
Ответить
Anonymous
 Многокадровый файл ZSTD: как получить метаданные каждого кадра?

Сообщение Anonymous »

Я хотел бы сжать несколько файлов ndjson в файл ZSTD, используя привязку Python python-zstandard. Для последующего случайного поиска я бы хотел, чтобы каждый файл сжимался независимо как кадр. Для этой цели я использую

Код: Выделить всё

import zstandard as zstd
from pathlib import Path
import shutil

file_to_compress = [r"E:\Personal Projects\tmp\chunk_0.ndjson",
r"E:\Personal Projects\tmp\chunk_0.ndjson"]
file_to_compress = [Path(p) for p in file_to_compress]

output_file = r"E:\Personal Projects\tmp\dataset.zst"
output_file = Path(output_file)

cctx = zstd.ZstdCompressor(write_content_size=True,threads=5)

with open(output_file, "wb") as f_out, cctx.stream_writer(f_out) as zst_writer:
for src in file_to_compress:
with open(src, "rb") as fin:
shutil.copyfileobj(fin, zst_writer)
zst_writer.flush(zstd.FLUSH_FRAME)
CMD zstd -l "E:\Personal Projects\tmp\dataset.zst" дает

Код: Выделить всё

Frames  Skips  Compressed  Uncompressed  Ratio  Check  Filename
3      0     335 MiB                        None  E:\Personal Projects\tmp\dataset.zst
Как я могу получить метаданные (сжатый/несжатый размер и имя кадра) из dataset.zst?
Спасибо за вашу разработку.>

Подробнее здесь: https://stackoverflow.com/questions/798 ... each-frame
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»