Objets de type MemoryView¶
Un objet Python memoryview
expose le protocole tampon du C. Cet objet peut ensuite être passé comme n'importe quel objet.
-
PyObject *PyMemoryView_FromObject(PyObject *obj)¶
- Valeur de retour : nouvelle référence. Part of the Stable ABI.
Crée un objet memoryview à partir d'un objet implémentant le protocole tampon. Si obj permet d'exporter des tampons modifiables, l'objet memoryview crée acceptera la lecture et écriture, sinon l'objet crée est soit en lecture seule ou lecture/écriture, à la discrétion de l'exporteur.
-
PyBUF_READ¶
Flag to request a readonly buffer.
-
PyBUF_WRITE¶
Flag to request a writable buffer.
-
PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)¶
- Valeur de retour : nouvelle référence. Part of the Stable ABI since version 3.7.
Crée un objet memoryview utilisant mem comme un tampon sous-jacent. flags peut être
PyBUF_READ
ouPyBUF_WRITE
.Ajouté dans la version 3.3.
-
PyObject *PyMemoryView_FromBuffer(const Py_buffer *view)¶
- Valeur de retour : nouvelle référence. Part of the Stable ABI since version 3.11.
Crée un objet memoryview à partir de la structure tampon view. Pour de simples tampons d'octets,
PyMemoryView_FromMemory()
est préférée.
-
PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)¶
- Valeur de retour : nouvelle référence. Part of the Stable ABI.
Crée un objet memoryview vers un segment de mémoire contiguous (organisé comme en
'C'
ou comme en'F'
pour Fortran) à partir d'un objet qui expose le protocole tampon. Si la mémoire est contiguë, l'objet memoryview pointe vers la mémoire d'origine. Sinon une copie est faite et la memoryview pointe vers un nouvel objet bytes.buffertype can be one of
PyBUF_READ
orPyBUF_WRITE
.
-
int PyMemoryView_Check(PyObject *obj)¶
Return true if the object obj is a memoryview object. It is not currently allowed to create subclasses of
memoryview
. This function always succeeds.
-
Py_buffer *PyMemoryView_GET_BUFFER(PyObject *mview)¶
Retourne un pointeur vers la copie privée du tampon de l'exporteur de memoryview. mview doit être une instance de memoryview; cette macro ne vérifie pas le type, vous devez le faire vous-même sinon vous pourriez subir un crash.
-
PyObject *PyMemoryView_GET_BASE(PyObject *mview)¶
Renvoie soit un pointeur vers l'objet exporté sur lequel est basé la memoryview ou
NULL
si la memoryview a été crée parPyMemoryView_FromMemory()
ouPyMemoryView_FromBuffer()
. mview doit être une instance de memoryview.