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