旧缓冲协议 – 抽象对象层(Python教程)(参考资料)
旧缓冲协议
自3.0版以来已弃用.
这些函数是Python 2中“旧缓冲区协议”API的一部分。在Python 3中,该协议不再存在,但是这些函数是为了便于移植2.x代码。它们充当了新的缓冲协议,但它们不会让你控制缓冲区出现时获得的资源的生命周期.
因此,建议你调用PyObject_GetBuffer()
(或y*
或w*
使用函数族格式化代码PyArg_ParseTuple()
获取缓冲区视图overan对象,并且PyBuffer_Release()
可以释放缓冲区视图.
- int
PyObject_AsCharBuffer
( PyObject *obj,const char **buffer,Py_ssize_t *buffer_len) - 返回指向可用作基于字符的输入的只读内存位置的指针。obj参数必须支持单段字符缓冲接口。成功时,返回
0
,将buffer设置到内存位置,并将buffer_len设置为缓冲区长度。返回-1
并设置TypeError
错误.
- int
PyObject_AsReadBuffer
( PyObject *obj,const void **buffer,Py_ssize_t *buffer_len) - 返回指向包含任意数据的只读内存位置的指针.obj参数必须支持单段可读缓冲区接口。成功时,返回
0
,将buffer设置到内存位置,并将buffer_len设置为缓冲区长度。返回-1
并在错误时设置TypeError
评论被关闭。