在PyObject_Call中没有错误的NULL结果

时间:2015-05-19 14:01:21

标签: python c null

我目前正在编写Python C-Extension编码,用C而不是Python执行一些计算。它工作得很好,我已经得到了一些不错的结果,但重点是,我得到以下错误:

NULL result without error in PyObject_Call

当我想创建我创建的“C Python对象”的实例时,它有时会发生,而不是总是发生。该调用类似于以下内容:

import c_class

obj = c_class.dummy(arg1, arg2, arg3);

有没有人有任何建议?我不知道这个错误来自哪里,因为它不时有效......我有点迷失在这里。

1 个答案:

答案 0 :(得分:1)

当您从暴露给python的c函数返回NULL时,您必须先设置错误消息,因为返回NULL表示发生了错误。

如果发生错误并且您因此返​​回NULL,请使用PyErr_SetString(),如果没有发生错误,请使用

Py_RETURN_NONE;