我构造了一个numpy数组::
a=np.ndarray([2,3]) 然后我想看看它的数据在哪里::
a.data
>>>Out[213]: <read-write buffer for 0x0482C1D0, size 48, offset 0 at 0x049E87A0>
a.data
>>>Out[214]: <read-write buffer for 0x0482C1D0, size 48, offset 0 at 0x049E82A0>
a.data
>>>Out[215]: <read-write buffer for 0x0482C1D0, size 48, offset 0 at 0x049E81C0> ..。
为什么每次的偏移量地址都不一样?如果我想使用c_types by:将数据传输到c函数:
ctypes_array = (ctypes.c_char * a.size * 8).from_address(ptr) 我应该如何获得ptr的值?
发布于 2012-06-30 01:18:09
此外,还可以查看ndarray.__array_interface__,它是一个包含所有您要查找的信息的字典。
在你的情况下,
pointer, read_only_flag = a.__array_interface__['data']发布于 2012-06-30 00:17:50
a.data可能是一个属性,它的getter函数在每次调用时创建一个新的缓冲区对象(元数据)。
要获取地址,请参阅numpy.ctypeslib.as_ctypes()是如何实现的。
https://stackoverflow.com/questions/11264838
复制相似问题