如果一个对象是可变的,那么可以通过不指定buffer()
的第二个参数来获得可修改的缓冲区,如下所示:
>>> s = bytearray(1000000) # a million zeroed bytes
>>> t = buffer(s, 1) # slice cuts off the first byte
>>> s[1] = 5 # set the second element in s
>>> t[0] # which is now also the first element in t!
'\x05'
但是,在我的例子中,我需要指定0x7fffffff
作为size参数。在这种情况下:
how to make ^{_ctypes
支持被禁用,并且程序不是以root用户身份启动的。
当然,像memoryview这样的东西是可用的,但是我失去了在每个虚拟地址读取内存的可能性。在
复印件是必须的。bytearray的内部缓冲区并不长2 GiB;如果需要2 GiB的缓冲区,则需要将bytearray的数据复制到新的缓冲区中。在
如果您要以某种方式强制Python将缓冲区视为您希望的大小而不进行复制,那么写入它会损坏进程的内存和/或导致segfault。在
相关问题 更多 >
编程相关推荐