我编写了一个Python程序,它作用于一个大的输入文件,以创建数百万个表示三角形的对象.算法是:
- 读取输入文件
- 处理该文件并创建一个三角形列表,由它们的顶点表示
- 以OFF格式输出顶点:顶点列表,后跟三角形列表.三角形由顶点列表中的索引表示
关闭的要求是在打印三角形之前打印出完整的顶点列表,这意味着在将输出写入文件之前,我必须在内存中保存三角形列表.与此同时,由于列表的大小,我的内存出现了错误.
告诉Python我不再需要某些数据,并且可以释放这些数据的最佳方式是什么?
我编写了一个Python程序,它作用于一个大的输入文件,以创建数百万个表示三角形的对象.算法是:
关闭的要求是在打印三角形之前打印出完整的顶点列表,这意味着在将输出写入文件之前,我必须在内存中保存三角形列表.与此同时,由于列表的大小,我的内存出现了错误.
告诉Python我不再需要某些数据,并且可以释放这些数据的最佳方式是什么?
根据Python Official Documentation,您可以显式调用垃圾收集器来释放gc.collect()
的未引用内存.例子:
import gc
gc.collect()
您应该在使用del
标记要丢弃的内容后执行此操作:
del my_array
del my_object
gc.collect()