Как скопировать буфер байтового массива Python?

У меня есть два сетевых буфера, определенных как:

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. Что происходит с недостающим байтом? Кто-нибудь может объяснить, как это работает или как перемещать данные между буферами?

Спасибо.

7
задан josgek 17 May 2012 в 10:29
поделиться