Pickle buffer objects¶
在 3.8 版被加入.
A pickle.PickleBuffer object wraps a buffer-providing object for out-of-band data transfer with the pickle module.
-
PyTypeObject PyPickleBuffer_Type¶
This instance of
PyTypeObjectrepresents the Python pickle buffer type. This is the same object aspickle.PickleBufferin the Python layer.
-
int PyPickleBuffer_Check(PyObject *op)¶
Return true if op is a pickle buffer instance. This function always succeeds.
-
PyObject *PyPickleBuffer_FromObject(PyObject *obj)¶
Create a pickle buffer from the object obj.
This function will fail if obj doesn't support the buffer protocol.
On success, return a new pickle buffer instance. On failure, set an exception and return
NULL.Analogous to calling
pickle.PickleBufferwith obj in Python.
-
const Py_buffer *PyPickleBuffer_GetBuffer(PyObject *picklebuf)¶
Get a pointer to the underlying
Py_bufferthat the pickle buffer wraps.The returned pointer is valid as long as picklebuf is alive and has not been released. The caller must not modify or free the returned
Py_buffer. If the pickle buffer has been released, raiseValueError.On success, return a pointer to the buffer view. On failure, set an exception and return
NULL.
-
int PyPickleBuffer_Release(PyObject *picklebuf)¶
Release the underlying buffer held by the pickle buffer.
Return
0on success. On failure, set an exception and return-1.Analogous to calling
pickle.PickleBuffer.release()in Python.