On this page
MemoryView objects
memoryview对象将 C 级别buffer interface公开为 Python 对象,然后可以像其他任何对象一样来回传递。
从提供缓冲区接口的对象创建一个 memoryview 对象。如果* obj *支持可写缓冲区导出,则 memoryview 对象将被读/写,否则它可以是只读的,也可以由导出者决定是读/写。
- PyObject *
PyMemoryView_FromMemory
(char ** mem *,Py_ssize_t * size *,int * flags *)- 返回值:新参考.
使用* mem *作为基础缓冲区创建一个 memoryview 对象。 标志可以是PyBUF_READ
或PyBUF_WRITE
之一。
版本 3.3 中的新Function。
创建一个包装给定缓冲区结构* view *的 memoryview 对象。对于简单的字节缓冲区,首选为PyMemoryView_FromMemory()。
从定义缓冲区接口的对象向contiguous内存块(在'C'或'F'ortran * order *)中创建一个 memoryview 对象。如果内存是连续的,则 memoryview 对象指向原始内存。否则,将进行复制,并且 memoryview 指向新的字节对象。
int
PyMemoryView_Check
(PyObject ** obj *)- 如果对象* obj *是 memoryview 对象,则返回 true。当前不允许创建memoryview的子类。
Py_buffer *
PyMemoryView_GET_BUFFER
(PyObject ** mview *)- 返回指向 memoryview 导出器缓冲区的私有副本的指针。 * mview * 必须 是 memoryview 实例;此宏不会检查其类型,您必须自己执行此操作,否则可能会崩溃。
Py_buffer *
PyMemoryView_GET_BASE
(PyObject ** mview *)- 如果 memoryview 是由函数PyMemoryView_FromMemory()或PyMemoryView_FromBuffer()创建的,则返回指向该 memoryview 所基于的导出对象的指针或
NULL
。 * mview * 必须 是 memoryview 实例。
- 如果 memoryview 是由函数PyMemoryView_FromMemory()或PyMemoryView_FromBuffer()创建的,则返回指向该 memoryview 所基于的导出对象的指针或