У меня есть программа, в которой я в основном корректирую вероятность того, что определенные вещи происходят, основываясь на том, что уже известно. Мой файл данных уже сохранен как объект словаря pickle в Dictionary.txt.
Проблема в том, что каждый раз, когда я запускаю программу, которую он извлекает в Dictionary.txt, превращает его в объект словаря, редактирует и перезаписывает Dictionary.txt. Это довольно много памяти, поскольку Dictionary.txt составляет 123 МБ. Когда я получаю дамп, я получаю MemoryError, все выглядит нормально, когда я его вытащил..
Есть ли лучший (более эффективный) способ внесения изменений? (Возможно, без необходимости перезаписывать весь файл каждый раз)
Есть ли способ, которым я могу вызвать сборку мусора (через модуль
gc)? (У меня уже есть автоматическое включение черезgc.enable())Я знаю, что помимо
readlines()вы можете читать построчно. Можно ли поэтапно редактировать словарь построчно, когда у меня уже есть полностью заполненный файл объекта словаря в программе.Есть другие решения?
Спасибо за уделенное время.