У меня есть программа, которая загружает и обрабатывает много изображений этой формы:
for fn in filenames:
im = Image.open(fn)
get_some_basic_stats(im)
При запуске на многих изображениях процесс Python заканчивается использованием большого объема памяти - гораздо больше, чем любое одно изображение должно учитывать. Излишне говорить, что это в конечном итоге приводит к уничтожению файла подкачки.
Полагаю (хотя я не уверен на 100%, очевидно), это потому, что предыдущие изображения занимают память до тех пор, пока не будут собраны в мусор.
Есть ли способ принудительно отказаться от них? Мне не удалось найти его в справочнике PIL . Я думал об использовании del im
, но я понял, что это просто удалит имя 'im' из локальной области видимости и будет фактически таким же, как и переназначение его в верхней части цикла.