Ben iki ağ tamponlar olarak tanımlamış:Python bytearray arabelleği nasıl kopyalanır?
ekstra bellek ayırmadanbuffer1
için
buffer2
içeriği taşımak için en hızlı yoldur
buffer1 = bytearray(4096)
buffer2 = bytearray(4096)
?
naif şekilde yapmak olacaktır:
for i in xrange(4096):
buffer1[i] = buffer2[i]
Ben buffer1[:]=buffer2[:]
piton içeriği taşır yapmak Anlaşılan eğer, ama ben, çünkü eğer bunun% 100 emin değilim:
a = bytearray([0,0,0])
b = bytearray([1,1])
a[:]=b[:]
, daha sonra len(a)=2
. Eksik baytla ne olur? Bunun nasıl çalıştığını veya arabellekleri arasında veriyi nasıl taşıyacağını açıklayabilir mi?
Teşekkürler. Benim bilgisayarda
Sanırım ilk kodunuzda yaptığınız şey "içeriği buffer2'den buffer1'e taşıyor", tersi değil. – jadkik94
teşekkürler @ jadkik94, düzeltildi. – josgek