我正在尝试将numpy数组转换为MemoryView
对象,因为我必须在两个程序之间进行通信。只能处理NumPy数组和其他只有MemoryView对象。
从MemoryView转换为numpy数组很容易通过以下方式完成:
import numpy as np
MyNumpyArray=np.array(MyMemoryView)
但是如何从numpy数组转换为MemoryView?
我在这里找到:https://docs.python.org/3/c-api/memoryview.html有一个PyMemoryView_FromObject(PyObject * obj)函数,但我不知道如何在没有示例的情况下调用它。
谢谢!
答案 0 :(得分:1)
memoryview
是内置类型之一,可以简单地称为:
arr = np.random.rand(5,4)
view = memoryview(arr)
view
<memory at 0x12699c318>
答案 1 :(得分:0)
除了已接受的 answer 之外,还提供了另一种从 Numpy 数组中获取 memoryview 的简单方法:
a = np.arange(1, 9)
view = a.data
print(type(view)) # <class 'memoryview'>