python如何从Python对象中提取C的值?

python

这取决于对象的类型。 如果是元组,PyTuple_Size() 可返回其长度而 PyTuple_GetItem() 可返回指定序号上的项。 对于列表也有类似的函数 PyListSize()PyList_GetItem()

对于字节串,PyBytes_Size() 可返回其长度而 PyBytes_AsStringAndSize() 提供一个指向其值和长度的指针。 请注意 Python 字节串可能为空,因此 C 的 strlen() 不应被使用。

要检测一个对象的类型,首先要确保它不为 NULL,然后使用 PyBytes_Check(), PyTuple_Check(), PyList_Check() 等等。

还有一个针对 Python 对象的高层级 API,通过所谓的‘抽象’接口提供 —— 请参阅 Include/abstract.h 了解详情。 它允许使用 PySequence_Length(), PySequence_GetItem() 这样的调用来与任意种类的 Python 序列进行对接,此外还可使用许多其他有用的协议例如数字 (PyNumber_Index() 等) 以及 PyMapping API 中的各种映射等等。

以上是 python如何从Python对象中提取C的值? 的全部内容, 来源链接: utcz.com/z/520618.html

回到顶部