何时从内存中释放变量?

时间:2015-09-04 10:36:53

标签: python memory

假设我定义了一个构建列表的函数,然后逐个打印列表中的项目(没有实际用途,只是一个例子:

import os

def build_and_print():
    thingy = os.walk('some directory')
    for i in thingy:
        print i

if __name__ == '__main__:
    build_and_print()

如果构建的thingy非常大,它会占用大量内存,它会从内存释放到什么时候?

python是否存储变量thingy,直到脚本完成运行,或者直到构建/使用它的函数完成运行?

1 个答案:

答案 0 :(得分:1)

一旦变量超出范围,它就会被垃圾收集器收集。

你可以看到收藏家code here.去收集功能,评论说明这​​个过程。