【发布时间】:2021-08-14 21:15:22
【问题描述】:
我在将 numpy 数组转换为 ctypes 数组时遇到问题。我没有收到任何错误或异常,但 ctypes 数组与原始数组完全不同。
def convarray(x):
arr = x.ctypes.data_as(ctypes.POINTER(ctypes.c_uint64) )
print(arr[0], arr[1], arr[2])
print(x.shape, x.dtype, x)
...
打印语句的结果是:
8 399 1099526307842
(958150,) uint64 [ 8 8 8 ... 92 94 96]
如您所见,在前三个元素中,只有一个是正确的。
为什么会这样?
我正在使用 Numpy 1.21.0 和 Python 3.9.2
【问题讨论】:
标签: python arrays numpy ctypes