On this page
旧缓冲协议
本节介绍了 Python 1.6 中引入的旧版缓冲区协议。它仍然受支持,但在 Python 2.x 系列中已弃用。 Python 3 引入了一个新的缓冲区协议,该协议修复了该协议的弱点和缺点,并已反向移植到 Python 2.6. 有关更多信息,请参见缓冲区和 Memoryview 对象。
- int
PyObject_AsCharBuffer
(PyObject *obj ,const char * buffer *,Py_ssize_t ** buffer_len *)- 返回一个指向只读存储位置的指针,该位置可用作基于字符的 Importing。 * obj 参数必须支持单段字符缓冲区接口。成功后,返回
0
,将 buffer 设置为内存位置,并将 buffer_len *设置为缓冲区长度。返回-1
并将错误设置为TypeError。
- 返回一个指向只读存储位置的指针,该位置可用作基于字符的 Importing。 * obj 参数必须支持单段字符缓冲区接口。成功后,返回
1.6 版中的新Function。
在版本 2.5 中更改:此函数对 buffer_len *使用了int *
类型。这可能需要更改您的代码以正确支持 64 位系统。
- int
PyObject_AsReadBuffer
(PyObject *obj ,const void * buffer *,Py_ssize_t ** buffer_len *)- 返回一个指向包含任意数据的只读存储位置的指针。 * obj 参数必须支持单段可读缓冲区接口。成功后,返回
0
,将 buffer 设置为内存位置,并将 buffer_len *设置为缓冲区长度。返回-1
并将错误设置为TypeError。
- 返回一个指向包含任意数据的只读存储位置的指针。 * obj 参数必须支持单段可读缓冲区接口。成功后,返回
1.6 版中的新Function。
在版本 2.5 中更改:此函数对 buffer_len *使用了int *
类型。这可能需要更改您的代码以正确支持 64 位系统。
- int
PyObject_CheckReadBuffer
(PyObject ** o *)- 如果* o *支持单段可读缓冲区接口,则返回
1
。否则返回0
。
- 如果* o *支持单段可读缓冲区接口,则返回
2.2 版中的新Function。
- int
PyObject_AsWriteBuffer
(PyObject *obj ,void * buffer *,Py_ssize_t ** buffer_len *)- 返回指向可写存储位置的指针。 * obj 参数必须支持单段字符缓冲区接口。成功后,返回
0
,将 buffer 设置为内存位置,并将 buffer_len *设置为缓冲区长度。返回-1
并将错误设置为TypeError。
- 返回指向可写存储位置的指针。 * obj 参数必须支持单段字符缓冲区接口。成功后,返回
1.6 版中的新Function。
在版本 2.5 中更改:此函数对 buffer_len *使用了int *
类型。这可能需要更改您的代码以正确支持 64 位系统。