Pickle 缓冲对象¶
Added in version 3.8.
pickle.PickleBuffer 对象包装了一个 提供缓冲区的对象 用于配合 pickle 模块进行带外数据传输。
-
PyTypeObject PyPickleBuffer_Type¶
这个
PyTypeObject的实例表示 Python pickle 缓冲区类型。 这与 Python 层级的pickle.PickleBuffer是同一对象。
-
PyObject *PyPickleBuffer_FromObject(PyObject *obj)¶
基于 obj 创建一个 pickle 缓冲区。
如果 obj 不支持 缓冲区协议 则此函数执行将失败。
成功时,返回一个新的 pickle 缓冲区实例。 失败时,设置一个异常并返回
NULL。等同于在 Python 中调用
pickle.PickleBuffer并传入 obj。
-
const Py_buffer *PyPickleBuffer_GetBuffer(PyObject *picklebuf)¶
获取一个指向 pickle 缓冲区所包装的底层 underlying
Py_buffer的指针。只要 picklebuf 保持存活而未被释放则返回的指针就将有效。 调用方不可修改或释放返回的
Py_buffer。 如果 pickle 缓冲区被释放,则会引发ValueError。成功时,返回一个指向缓冲区视图的指针。 失败时,设置一个异常并返回
NULL。
-
int PyPickleBuffer_Release(PyObject *picklebuf)¶
释放由 PickleBuffer 占用的底层缓冲区。
成功时返回
0。 失败时,设置一个异常并返回-1。等同于在 Python 中调用
pickle.PickleBuffer.release()。