我目前正在编写Python C-Extension编码,用C而不是Python执行一些计算。它工作得很好,我已经得到了一些不错的结果,但重点是,我得到以下错误:
NULL result without error in PyObject_Call
当我想创建我创建的“C Python对象”的实例时,它有时会发生,而不是总是发生。该调用类似于以下内容:
import c_class
obj = c_class.dummy(arg1, arg2, arg3);
有没有人有任何建议?我不知道这个错误来自哪里,因为它不时有效......我有点迷失在这里。
答案 0 :(得分:1)
当您从暴露给python的c函数返回NULL
时,您必须先设置错误消息,因为返回NULL
表示发生了错误。
如果发生错误并且您因此返回NULL
,请使用PyErr_SetString()
,如果没有发生错误,请使用
Py_RETURN_NONE;