python - 如何在Python和其他语言之间共享内存映射文件?

标签 python memory-mapped-files memory-mapping

如何使用memory maps在 Python 中共享 Python 和 C 进程之间的数据,同时不在磁盘上存储任何内容。

两个程序如何读取以确保从内存中的同一位置读取? 如果数据与C共享,最好使用Python中的ctypes,还是解析C中的python对象?

最佳答案

我认为使用 mmap 模块不可能直接实现这一点。它包装了面向文件的 mmap 函数,但不包装 POSIX SHM API。不过,您可以通过 ctypes 调用它们,请查看 shm_open它返回一个纯内存 SHM 段的文件描述符,然后您可以对其进行 mmap。

关于python - 如何在Python和其他语言之间共享内存映射文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50244229/

相关文章:

python - 加快对 pandas 系列的异常值检查

python - Scikit-learn 不适用于 KNN 上的字符串值

java - 为什么 FileChannel 的性能比 MemoryMappedBuffer 更好?

python - 这个 Python 类型提示语法是什么,括号中包含两种类型?

python - 比较两个 CSV 文件并搜索相似项目

c++ - 读取共享内存中的不同数据类型

c++ - circular_buffer 和 managed_mapped_file 段错误

java - 如何使用MappedByteBuffer从java中的映射文件中逐行读取

linux - 具有私有(private)匿名映射的 ENOMEM 的 munmap() 失败

Java GZip 一个对象并使用 MappedByteBuffer 对其进行序列化