4
我在python中实现了一个多处理程序,并且对于每个子进程,它们都需要读取文件的一部分。在内存中的Python多处理共享文件
由于从磁盘读取文件非常昂贵,我只想读取一次并放入共享内存。
1.如果我使用mmap,它可以使用fork,但我找不到在多处理模块中的进程之间共享mmaped文件的方法。
2.如果我文件到STR中读取,并存储在sharedctypes.RawArray串(“C”,STR),如果没有在STR一个\ 0,就可能出现错误,则生成的RawArray是文件的截断。
任何想法?
您可以用'numpy.memmap'打开该文件,如果它是在模式'“R +”'的数组,每个进程工作阵列的不同区域 –