我正在创建一个SharedMemory对象,其中的数据是在一个I/O绑定进程中写入的,以便由一个单独的计算绑定进程进行后续处理。在后续处理数据时,我希望能够使用类似文件的对象进行读写,因此我希望复制到io.BytesIO对象。我不确定如何使用SharedMemory的buf内存视图对象。如何在SharedMemory对象和BytesIO对象之间复制数据?
SharedMemory
io.BytesIO
buf
yqkkidmi1#
给定以下示例设置:
from io import BytesIO from multiprocessing.shared import SharedMemory b = BytesIO() s = SharedMemory(create=True, size=1024)
可以直接将内存视图的内容写入bytes I/O对象
>>> b.write(s.buf) 1024 # N.B. bytes written equals size of shared memory
这适用于任何类似文件的对象,而不仅仅是BytesIO。
BytesIO
1条答案
按热度按时间yqkkidmi1#
给定以下示例设置:
可以直接将内存视图的内容写入bytes I/O对象
这适用于任何类似文件的对象,而不仅仅是
BytesIO
。