PyObject_GetAttrString时返回了空指针,我的系统为ubuntu18.04,python版本为3.6
时间: 2024-05-23 14:11:21 浏览: 111
`PyObject_GetAttrString`函数返回空指针通常是因为对象没有该属性或者属性名不正确。您需要确保属性名正确,并且对象确实具有该属性。如果您尝试访问一个不存在的属性,`PyObject_GetAttrString`将返回空指针。
另外,您还需要确保您传递给`PyObject_GetAttrString`的对象是有效的Python对象。如果对象不是有效的Python对象,或者您没有正确地初始化Python解释器,也可能导致返回空指针。您可以检查一下您的Python解释器是否正确初始化,并且对象是否有效。
最后,您可以尝试使用`PyObject_HasAttrString`函数来检查对象是否具有该属性,然后再尝试使用`PyObject_GetAttrString`函数来获取属性值。这可以帮助您避免返回空指针的情况。
相关问题
pyobject_getattrstring
pyobject_getattrstring是Python C API中的一个函数,用于获取Python对象的属性。它的作用是在Python对象中查找指定名称的属性,并返回该属性的值。如果属性不存在,则返回NULL。
PyObject_GetAttrString
`PyObject_GetAttrString` 是一个 C 语言 API 函数,用于获取一个 Python 对象的属性。它接受两个参数:第一个参数是要获取属性的 Python 对象,第二个参数是属性名的字符串。如果属性存在,则返回属性对应的 Python 对象;如果属性不存在,则返回 `NULL`。在使用此函数之前,需要先调用 `Py_INCREF` 对要获取属性的 Python 对象进行引用计数加一,以避免在获取属性期间被垃圾回收。
阅读全文