【发布时间】:2011-10-11 15:00:15
【问题描述】:
我正在尝试使用 Numpy 创建 Python 的 C 扩展,但在我的 C 代码中从 Numpy 读取数据时遇到了一些问题。
如果我在 Python 中创建一个像这样的简单数组,我可以读取 C 代码中的值:
Python:
from numpy import *
myarray = zeros([5, 20], dtype=uint32)
C:
value = (unsigned long*)PyArray_GETPTR2(myarray,0,0);
问题是当我尝试从以下 Numpy 数组中读取值时:
Python:
from numpy import *
myarray = zeros([5], dtype=[('f1', 'S16'), ('f2', 'S16'), ('f3', uint64), ('f4', uint32)] )
C:
value = (void*)PyArray_GETPTR1(myarray,0);
这种情况下的值是什么样的og数据类型?
【问题讨论】:
-
您遇到什么错误?它们是在编译时还是运行时?
-
我并没有真正得到错误。我只是不知道如何从 value 中读取 S16、S16、uint64 和 uint32。