簡體   English   中英

Python Memoryview與Bytearray?

[英]Python Memoryview vs Bytearray?

我什么時候應該在Python2.7中使用memoryview 我在常規bytearray上找不到使用它的任何好處 memoryview也不支持字符串方法,這使得它絕對無法使用。 我錯了嗎?

好吧,最后,在網絡軟件上工作,我找到了一個用於內存視圖的用例:當我們有一個固定大小的套接字緩沖區並且我們想對它執行快速切片時(從任何給定位置讀/寫數據不創建額外的副本)在內存中),像這樣:

buf = bytearray(4096)
mview = memoryview(buf)
socket.recv_into(mview)
print mview[256:]

因此,在某些情況下,在bytearray上有一個內存視圖是很方便的。 你應該記住這個方案唯一的事情:在bytearray上創建一個內存視圖后,你不能改變bytearray的大小,直到你刪除這個內存視圖,bytearray將被限制為它的初始大小並拋出BufferError: Existing exports of data: object cannot be re-sized在每次嘗試添加更多數據時BufferError: Existing exports of data: object cannot be re-sized

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM