我有两个网络缓冲区定义如下:
buffer1 = bytearray(4096)
buffer2 = bytearray(4096)
如何在不分配额外内存的情况下最快地将内容从buffer2
移动到buffer1
?
天真的方法是这样做:
for i in xrange(4096):
buffer1[i] = buffer2[i]
显然,如果我执行buffer1[:]=buffer2[:]
,Python会移动内容,但我不完全确定,因为如果我执行:
a = bytearray([0,0,0])
b = bytearray([1,1])
a[:]=b[:]
那么len(a)=2
,缺失的字节会发生什么?有人能解释一下这是如何工作的或如何在缓冲区之间移动数据吗?
谢谢。