我的代码看起来像这样:
print "Loading"
data = load_data()
do_work(data)
print "Done
加载数据使用ujson
加载一个巨大的JSON文件(大约2GB,8GB一次加载到内存中)。
问题是,一旦我看到"完成"打印后,Python不会在一分钟后退出。更大的文件会加剧这种情况。
我在Linux上使用Python 2.7.8 [GCC 4.9.3]。
答案 0 :(得分:1)
程序完成后,Python需要释放程序使用的内存。如果使用大量内存,和/或内存结构很复杂,可能需要几秒钟(可能长达一分钟)。这是Python体系结构的一部分,你不能真正做任何事情,因为你必须将这些数据结构保存在内存中。