У меня есть два сетевых буфера, определенных как:
buffer1 = bytearray(4096)
buffer2 = bytearray(4096)
Какой самый быстрый способ переместить содержимое из буфер2
в буфер1
без выделения дополнительной памяти?
Наивным способом было бы сделать:
for i in xrange(4096):
buffer1[i] = buffer2[i]
Очевидно, если я сделаю buffer1[:]=buffer2[:]
python переместит содержимое, но я не уверен в этом на 100%, потому что если Я делаю:
a = bytearray([0,0,0])
b = bytearray([1,1])
a[:]=b[:]
, затем len(a)=2
. Что происходит с недостающим байтом? Кто-нибудь может объяснить, как это работает или как перемещать данные между буферами?
Спасибо.