Python: как написать jsonline без перезаписи?Python

Программы на Python
Ответить
Anonymous
 Python: как написать jsonline без перезаписи?

Сообщение Anonymous »

У меня есть фрагмент кода, он обрабатывает тысячи файлов в каталоге и для каждого файла генерирует объект (словарь) с частью его значения ключа следующим образом:

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

{
........
'result': [...a very long list...]
}
если я обработаю все файлы, сохраню результат в списке, а затем использую библиотеку jsonlines для записи всех, на моем ноутбуке (mac) закончится память.

Поэтому мое решение будет обрабатываться один за другим и получать результат, затем вставлять в файл jsonline, удалять объект и освобождать память.

После проверки официального документа:
https://jsonlines.readthedocs.io/en/latest/

Мне не удалось найти метод, который мог бы выполнять запись без перезаписи файла jsonline.

Итак, как я могу обрабатывать такой большой объем вывода.

Кроме того, я использую параллельные потоки для обработки результата:

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

from multiprocessing.dummy import Pool
Pool(4).map(get_result, file_lst)
Я надеюсь открыть json_file, записать каждый результат, а затем освободить память.

Подробнее здесь: https://stackoverflow.com/questions/544 ... verwriting
Ответить

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

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

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

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

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