Py_FindMethod在Python3中已经消失。我应该使用什么替代方法?

6
我正在尝试将我在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);
}

有一些建议在邮件列表上,建议只使用PyObject_GenericGetAttr,但我必须承认我不太了解Python模块的内部,无法看出如何在这种特定情况下应用它。

有什么提示吗?


所以avl_tree_getattr函数可以完全删除...如果我想知道它是一个“常见”情况还是一个“不寻常”的情况,我在代码中需要注意什么? - PypeBros
1
看一下pyexpat.c中的xmlparse_getattro。它处理了一堆特殊情况,否则就默认使用PyObject_GenericGetAttr。这是分配给tp_getattro的函数。 - Eryk Sun
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接