如何垃圾收集由Python-C-Interface创建的容器类型?

时间:2019-04-30 21:02:54

标签: python garbage-collection

PyBuildValue("iiii", i1, i2, i3, i4)返回到Python时,创建的包含4个整数的元组将在完成后被垃圾回收(例如,del被设置为None或)。 但是,如果我返回任何容器类型,例如:Py_BuildValue("((ii),(ii))", i1, i2, i3, i4),那么(至少)每个具有2个整数的两个子元组将从不被垃圾收集。

我的实际情况要复杂得多……也不一定取决于使用Py_BuildValue

我需要将用C创建的复杂Python对象返回给Python代码,并确保该对象可用于垃圾回收。

有人对此有想法/评论甚至解决方案吗?

0 个答案:

没有答案