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

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