Objetos de vista de memoria (MemoryView)¶
Un objeto memoryview
expone la interfaz de búfer a nivel de C como un objeto Python que luego puede pasarse como cualquier otro objeto.
-
PyObject *
PyMemoryView_FromObject
(PyObject *obj)¶ - Return value: New reference.
Crea un objeto de vista de memoria memoryview a partir de un objeto que proporciona la interfaz del búfer. Si obj admite exportaciones de búfer de escritura, el objeto de vista de memoria será de lectura/escritura, de lo contrario puede ser de solo lectura o de lectura/escritura a discreción del exportador.
-
PyObject *
PyMemoryView_FromMemory
(char *mem, Py_ssize_t size, int flags)¶ - Return value: New reference.
Crea un objeto de vista de memoria usando mem como el búfer subyacente. flags pueden ser uno de
PyBUF_READ
oPyBUF_WRITE
.Nuevo en la versión 3.3.
-
PyObject *
PyMemoryView_FromBuffer
(Py_buffer *view)¶ - Return value: New reference.
Crea un objeto de vista de memoria que ajuste la estructura de búfer dada view. Para memorias intermedias de bytes simples,
PyMemoryView_FromMemory()
es la función preferida.
-
PyObject *
PyMemoryView_GetContiguous
(PyObject *obj, int buffertype, char order)¶ - Return value: New reference.
Crea un objeto de vista de memoria memoryview para un fragmento de memoria contiguo (contiguous, en order “C” o “F” de Fortran) desde un objeto que define la interfaz del búfer. Si la memoria es contigua, el objeto de vista de memoria apunta a la memoria original. De lo contrario, se realiza una copia y la vista de memoria apunta a un nuevo objeto de bytes.
-
int
PyMemoryView_Check
(PyObject *obj)¶ Retorna verdadero si el objeto obj es un objeto de vista de memoria. Actualmente no está permitido crear subclases de
memoryview
. Esta función siempre finaliza con éxito.
-
Py_buffer *
PyMemoryView_GET_BUFFER
(PyObject *mview)¶ Retorna un puntero a la copia privada de la vista de memoria del búfer del exportador. mview debe ser una instancia de memoryview; este macro no verifica su tipo, debe hacerlo usted mismo o correrá el riesgo de fallas.
-
Py_buffer *
PyMemoryView_GET_BASE
(PyObject *mview)¶ Retorna un puntero al objeto de exportación en el que se basa la vista de memoria o
NULL
si la vista de memoria ha sido creada por una de las funcionesPyMemoryView_FromMemory()
oPyMemoryView_FromBuffer()
. mview debe ser una instancia de memoryview.