如何将字符串写入内存视图?

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的内容写入底层内存。