Python C API 将 PyObject * 传输到 c 数组中
Python C Api transfer a PyObject * into c array
我使用了python c api,并希望从python中获取一个数组。我从 python 端返回了一个 python 数组,并希望将 PyObject* 结果传输到 c 数组中,以便我可以使用它。
无论如何我能做到吗?
附带问题:在什么情况下尝试返回数组中的元素,例如
return arr[3]
会导致PyObject_callobject返回 NULL?
return arr
确实给了我一些东西
在Python中,"数组"是一种list
数据类型。 查看 C API 中的PyList_*
函数。 您可以在此处找到 2.7 和此处 3.5 的参考。 感兴趣的功能是:
Py_ssize_t PyList_Size(PyObject *list)
获取列表成员数 和 PyObject* PyList_GetItem(PyObject *list, Py_ssize_t index)
获取对该索引处成员的引用。
简单地使用 malloc
或类似的分配器和for
循环应该可以解决问题。
另请注意,仅涉及借用的引用,因此无需通过void Py_INCREF(PyObject *o)
和void Py_DECREF(PyObject *o)
维护这些对象的引用计数。
相关文章:
- Angelscript从C++传输数组
- 我无法将数据从数据网格列传输到 C# 中的数组以获取文本框建议收集数据
- 为什么我的整数不能传输到数组?
- 如何修复将传输到 java 的 2d 数组代码使用 JNI
- 如何在 C++ 中以特定形式将内容从 1D 数组传输到 2D 数组
- 在不使用For循环的情况下将数据从指向本地数组的指针传输到全局数组
- 将 cv::Mat 存储在字节数组中,以便将数据传输到服务器
- 检查数组中的相似元素并传输到新数组
- C++读取文件传输到2d数组
- 将 int 数组值传输到无符号向量
- 动态分配的数组通过引用传输到函数
- Python C API 将 PyObject * 传输到 c 数组中
- 从比特集读取比特值并传输到字节数组
- 如何在C++中将文本文件传输到数组2D
- 编辑:如何将数组值传输到正数组和负数组
- 正在将指针地址从二维数组传输到结构
- 转换之间的双和字节数组,为传输ZigBee API
- 通过套接字传输大型数组的最快方式
- 使用命名(fifo)管道在python和c++之间传输数组(图像)
- 文本文件到数组的传输