MemoryView对象¶
A memoryview
对象公开C级别 buffer interface 作为一个python对象,然后可以像其他对象一样传递。
-
PyObject *PyMemoryView_FromObject(PyObject *obj)¶
- Return value: New reference.
从提供缓冲区接口的对象创建memoryview对象。如果 obj 支持可写缓冲区导出,memoryView对象将被读/写,否则它可能是只读的,也可能是由导出程序决定的读/写。
-
PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)¶
- Return value: New reference.
使用创建MemoryView对象 mem 作为底层缓冲区。 flags 可以是其中之一
PyBUF_READ
或PyBUF_WRITE
.3.3 新版功能.
-
PyObject *PyMemoryView_FromBuffer(Py_buffer *view)¶
- Return value: New reference.
创建一个封装给定缓冲区结构的memoryView对象 view . 对于简单字节缓冲区,
PyMemoryView_FromMemory()
是首选功能。
-
PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)¶
- Return value: New reference.
将memoryView对象创建到 contiguous 内存块(在“c”或“f”或“ortran”中) 秩序 )来自定义缓冲区接口的对象。如果内存是连续的,则memoryView对象指向原始内存。否则,将生成一个副本,并且memoryView指向一个新的bytes对象。
-
int PyMemoryView_Check(PyObject *obj)¶
如果对象的值为True,则返回TRUE obj 是一个内存视图对象。当前不允许创建的子类
memoryview
。此功能总是成功的。
-
Py_buffer *PyMemoryView_GET_BUFFER(PyObject *mview)¶
返回指向导出器缓冲区的memoryview私有副本的指针。 实体化视图 must 是一个memoryview实例;这个宏不检查它的类型,您必须自己检查,否则会有崩溃的风险。
-
Py_buffer *PyMemoryView_GET_BASE(PyObject *mview)¶
Return either a pointer to the exporting object that the memoryview is based on or
NULL
if the memoryview has been created by one of the functionsPyMemoryView_FromMemory()
orPyMemoryView_FromBuffer()
. mview must be a memoryview instance.