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