如何将字符串写入内存视图?
How to write string to memoryview?
我想把一个bytearray
类型写成一个memoryview
类型。我尝试了什么:
my_memory_view = memoryview(b'hello')
new_byte_string = bytearray(b'world')
my_memory_view = new_byte_string
但它返回:
AttributeError: can't set attribute
我知道可以通过以下方式写入内存视图:
my_memory_view[0] = 12 #Changes first byte
有没有办法将 bytearray
的值自动插入到 memoryview
中?
编辑:
我犯了一个错误:错误不是AttributeError
因为类型改变而出现问题,而是在我的包中我使用了(<a href="https://docs.python.org/3/library/multiprocessing.shared_memory.html" rel="nofollow noreferrer">shared_memory</a>
)
AttributeError
将显示。
你不能写入你的内存视图,因为你的内存视图是字节对象的视图,它是不可变的。
如果你有一个可写的内存视图,比如memoryview(bytearray(b'hello'))
,你可以
your_memoryview[:] = whatever
将whatever
的内容写入底层内存。
我想把一个bytearray
类型写成一个memoryview
类型。我尝试了什么:
my_memory_view = memoryview(b'hello')
new_byte_string = bytearray(b'world')
my_memory_view = new_byte_string
但它返回:
AttributeError: can't set attribute
我知道可以通过以下方式写入内存视图:
my_memory_view[0] = 12 #Changes first byte
有没有办法将 bytearray
的值自动插入到 memoryview
中?
编辑:
我犯了一个错误:错误不是AttributeError
因为类型改变而出现问题,而是在我的包中我使用了(<a href="https://docs.python.org/3/library/multiprocessing.shared_memory.html" rel="nofollow noreferrer">shared_memory</a>
)
AttributeError
将显示。
你不能写入你的内存视图,因为你的内存视图是字节对象的视图,它是不可变的。
如果你有一个可写的内存视图,比如memoryview(bytearray(b'hello'))
,你可以
your_memoryview[:] = whatever
将whatever
的内容写入底层内存。