当我的脚本执行结束时,我希望100%确保删除所有变量/垃圾收集器将释放我的内存。
del允许我删除任意数量的变量,以逗号分隔。例如,要删除a,b和c变量,我输入:
del a,b,c
但是,如果这些变量中的任何一个不存在,我会收到一个异常,并且似乎删除了那些变量(a,b,c)的 none 。
所以我写了以下代码:
def tryToRemove(myArrayOfVariablesToRemove):
# Sample usage: tryToRemove(['a','b'])
if isinstance(myArrayOfVariablesToRemove, list):
for i in myArrayOfVariablesToRemove:
cmd = "del {0}".format(i)
print(cmd)
try:
exec(cmd)
except NameError:
pass
else:
print("ERROR! Provided argument is *not* a list of variables to remove")
我的代码似乎没有删除变量。 打字:
a = 3
b = [3,4,5]
tryToRemove(['a','b'])
在我的屏幕上打印:
del a
del b
但是当我键入a时,我收到'3',所以似乎没有删除变量。