我正在编写一个序列化程序,而memoryview
对象给我带来了麻烦。我需要知道在反序列化时重新创建相同内存视图所需的所有属性,但我不知道如何访问它们。
想象一下,我有一个这样的内存视图:
data = b'0123456789'
mem = memoryview(data)[2:5]
obj
我可以通过属性访问原始字节对象:
>>> m.obj is data
True
但是我怎样才能得到索引2
和5
,即内存视图的边界?
我尝试了文档中列出的所有属性,但似乎没有一个包含我需要的信息:
>>> mem.format
'B'
>>> mem.itemsize
1
>>> mem.shape
(3,)
>>> mem.ndim
1
>>> mem.strides
(1,)
>>> mem.suboffsets
()
如何提取内存视图的边界?