Как постепенно записывать в файл в быстрой рамке? (Python)

#python #json #encoding #compression #snappy

Вопрос:

У меня есть функция (см. Ниже), которая генерирует 100 000 записей (т. Е. словари python), и я хотел бы закодировать JSON, а затем сжать эти записи в файл с быстрым оформлением. Все записи не могут поместиться в памяти сразу, поэтому их придется записывать «кусками».

Как я могу использовать python-snappy пакет для достижения вышеуказанного? Я думаю stream_compress , что функция могла бы мне помочь, но не нашла ни одного примера того, как ее использовать.

 def generate_records():
    for i in range(100000):
        yield {"foo": random.uniform(0, 1),
               "bar": random.uniform(0, 1)}
 

Спасибо за любую помощь,

Джек

Комментарии:

1. Примеры, подобные этому? github.com/andrix/python-snappy/blob/master/test_snappy.py#L110