我正在尝试将sourceforge上找到的python的avl模块移植到python3。我设法摆脱了大部分错误,但我找不到有关如何处理的明确信息。
Py_LOCAL(PyObject *) avl_tree_getattr(avl_tree_Object * self, char *name)
{
return Py_FindMethod(avl_tree_methods, (PyObject *) self, name);
}
关于amailing lists有一些建议,建议您只使用
PyObject_GenericGetAttr
,但我必须承认,我不太了解python模块的内部,不足以了解如何在这种特定情况下应用它。有什么暗示吗?
最佳答案
正如你所说,PyObject_GenericGetAttr
似乎是解决办法。
在帕斯卡看来:Result := PyObject_GenericGetAttr(obj, PyString_FromString(key))
参见AA>
在C语言中,可能是这样的:
`return PyObject_GenericGetAttr((PyObject *) self, PyString_FromString(name))`