PyObject_Call 中没有错误的 NULL 结果
NULL result without error in PyObject_Call
我目前正在编写一个 Python C 扩展来用 C 而不是 Python 执行一些计算。它工作得很好,我已经得到了一些不错的结果,但重点是,我收到以下错误:
NULL result without error in PyObject_Call
当我想创建我创建的 "C Python Object" 的实例时,有时会发生这种情况,但并非总是如此。该调用类似于以下内容:
import c_class
obj = c_class.dummy(arg1, arg2, arg3);
有人有什么建议吗?我不知道这个错误是从哪里来的,因为它有时会起作用。我有点迷路了。
当你 return NULL
从暴露给 python 的 c 函数时,你必须在之前设置错误消息,因为 returning NULL
意味着错误发生了。
如果发生错误并且您因此 returning NULL
,则使用 PyErr_SetString()
,如果没有发生错误,则使用
Py_RETURN_NONE;
我目前正在编写一个 Python C 扩展来用 C 而不是 Python 执行一些计算。它工作得很好,我已经得到了一些不错的结果,但重点是,我收到以下错误:
NULL result without error in PyObject_Call
当我想创建我创建的 "C Python Object" 的实例时,有时会发生这种情况,但并非总是如此。该调用类似于以下内容:
import c_class
obj = c_class.dummy(arg1, arg2, arg3);
有人有什么建议吗?我不知道这个错误是从哪里来的,因为它有时会起作用。我有点迷路了。
当你 return NULL
从暴露给 python 的 c 函数时,你必须在之前设置错误消息,因为 returning NULL
意味着错误发生了。
如果发生错误并且您因此 returning NULL
,则使用 PyErr_SetString()
,如果没有发生错误,则使用
Py_RETURN_NONE;