Мне нужно загрузить этот массивный объект A
(который может весить almsot 10go), что мне нужно перейти к функции, которая извлекает из нее параметр B
, чтобы еще больше наложить на него тяжелые вычисления.Python - Удалить (удалить из памяти) переменную изнутри функции?
A = load(file)
def function(A):
B = transorm(A)
B = compute(B)
return(B)
Для того, чтобы освободить память (как я уже имел MemoryError), я хотел бы, чтобы удалить A
из памяти сразу же после его преобразования в B. я попытался del
, но это, похоже, не влияет наличие A
на уровне скрипта. Я также пробовал del global()["A"]
, но он говорит, что A не определяется как глобальная переменная.
Есть ли способ сделать это? Благодаря!
Возможно, если вы начнете загрузку A изнутри функции(), вы можете воспользоваться тем фактом, что она будет существовать только до тех пор, пока функция не вернется, так как она выйдет из области видимости ... кто-то правильный меня, если я ухожу здесь – Totem
Вы пробовали удалить _file_ после вызова функции? – Jalo
Я бы действительно подумал о выборе другой среды для такой задачи - без автоматической сборки мусора. Может быть, можно вообще не загружать весь объект? –