我想知道是否有PyMOD(DEINIT)_FUNC
?我知道资源是在python脚本退出时释放的,但我想让我的代码对它所使用的内存负责。
我当然搜索了文档,直到现在我认为卸载模块时没有从python核心到c模块调用的函数,但我希望有,我只是不知道怎么做搜索范围。
答案 0 :(得分:2)
Python 2不支持模块完成,不支持。见bug 9072:
请接受Python确实不支持在2.x中为严重的,基本的,不可克服的技术问题卸载模块。
对于Python 3,模块初始化的C API进行了大修(参见PEP 3121),新的PyModuleDef
struct有一个m_free
slot,它采用了回调函数;用它来清除你的模块内存。