python内存视图_python-2.7 – Ctypes from_buffer,包含Python 2.7和Python 3.4中的内存视图

该博客介绍了如何利用Python 2.7和Python 3.4的内存视图(memoryview)对象,结合ctypes库创建ctypes数组。文章详细展示了内存视图的结构,以及如何通过`get_buffer`函数获取缓冲区,并通过`as_ctypes`属性将内存视图转换为ctypes数组进行读写操作。
摘要由CSDN通过智能技术生成

这是一个允许您使用Python 2 memoryview对象导出的缓冲区接口创建ctypes数组的类.

from ctypes import *

pyapi = PyDLL("PythonAPI", handle=pythonapi._handle)

PyBUF_SIMPLE = 0

PyBUF_WRITABLE = 0x0001

PyBUF_FORMAT = 0x0004

PyBUF_ND = 0x0008

PyBUF_STRIDES = 0x0010 | PyBUF_ND

PyBUF_C_CONTIGUOUS = 0x0020 | PyBUF_STRIDES

PyBUF_F_CONTIGUOUS = 0x0040 | PyBUF_STRIDES

PyBUF_ANY_CONTIGUOUS = 0x0080 | PyBUF_STRIDES

PyBUF_INDIRECT = 0x0100 | PyBUF_STRIDES

PyBUF_CONTIG_RO = PyBUF_ND

PyBUF_CONTIG = PyBUF_ND | PyBUF_WRITABLE

PyBUF_STRIDED_RO = PyBUF_STRIDES

PyBUF_STRIDED = PyBUF_STRIDES | PyBUF_WRITABLE

PyBUF_RECORDS_RO = PyBUF_STRIDES | PyBUF_FORMAT

PyBUF_RECORDS = PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE

PyBUF_FULL_RO = PyBUF_INDIRECT | PyBUF_FORMAT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值