python - 工作流程: C pointer to Python array?

标签 python c cython

我正在用 C 编写一些代码,它读取数据并将其存储在类型的指针中;

uint8_t

我现在想在 Python3 中访问这些数据。

现在我已经弄清楚如何在 ctypes 的帮助下使我的 C 代码可调用,并且我知道它是有效的,因为我能够在 Python 终端中打印我的数据,但无法将其存储在变量中。

我的问题在于,我不知道如何将这个指针转换为可以在Python中存储和操作的数组,因此我问,是否有人有一个简单的例子,他们移动一个3乘1的例子数组从 C 到 Python,然后能够在那里使用它,这对我有很大好处。

最佳答案

好吧,我设法弄清楚了,也许不是最聪明的方法,但至少现在可以了。因为我在 C 中返回了类型为 ``` u_int8 * ```` 的指针,所以我在 Python 中使用了这样的东西:

g = (ctypes.c_float*5271).from_address(a)

然后g[0]、g[:]等来获取数据等

关于python - 工作流程: C pointer to Python array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58685451/

相关文章:

python - Pandas 检查多列的条件

python - 从 Pandas 数据框创建新的动态字典

python - 如何实现更快的状态检查功能? Python

python - Cython Memoryview 段错误

python - 如何将字数列表转换为数据框以进行情感分析

python - Python 中时间戳字符串到秒的转换

c - 标准I/O流——fgets()缓冲类型

c - 错误 : indirection requires pointer operand

冲突类型中的 C 错误

python - Cython:编译并找不到库 Mac OSX 10.12