我编写了一个Python程序,它作用于一个大的输入文件,以创建数百万个表示三角形的对象.算法是:

  1. 读取输入文件
  2. 处理该文件并创建一个三角形列表,由它们的顶点表示
  3. 以OFF格式输出顶点:顶点列表,后跟三角形列表.三角形由顶点列表中的索引表示

关闭的要求是在打印三角形之前打印出完整的顶点列表,这意味着在将输出写入文件之前,我必须在内存中保存三角形列表.与此同时,由于列表的大小,我的内存出现了错误.

告诉Python我不再需要某些数据,并且可以释放这些数据的最佳方式是什么?

推荐答案

根据Python Official Documentation,您可以显式调用垃圾收集器来释放gc.collect()的未引用内存.例子:

import gc

gc.collect()

您应该在使用del标记要丢弃的内容后执行此操作:

del my_array
del my_object
gc.collect()

Python相关问答推荐

从包含基本数据描述的文本字段中识别和检索特定字符序列

如何将 map 数组组合到pyspark中每列的单个 map 中

是否有方法将现有的X-Y图转换为X-Y-Y1图(以重新填充)?

将列表中的元素替换为收件箱中的元素

使用Python C API重新启动Python解释器

Altair -箱形图边界设置为黑色,中线设置为红色

将从Python接收的原始字节图像数据转换为C++ Qt QIcon以显示在QStandardProject中

Python中使用时区感知日期时间对象进行时间算术的Incredit

Chatgpt API不断返回错误:404未能从API获取响应

点到面的Y距离

在Polars(Python库)中将二进制转换为具有非UTF-8字符的字符串变量

优化pytorch函数以消除for循环

C#使用程序从Python中执行Exec文件

当从Docker的--env-file参数读取Python中的环境变量时,每个\n都会添加一个\'.如何没有额外的?

使用密钥字典重新配置嵌套字典密钥名

cv2.matchTemplate函数匹配失败

迭代嵌套字典的值

在pandas中使用group_by,但有条件

为什么常规操作不以其就地对应操作为基础?

为什么我的sundaram筛这么低效