我正在开发一个嵌入了 Python 的 C 程序。
宿主程序是多进程,通过共享内存(mmap)进行通信。
我在一个进程中创建了一个 Python 对象(例如 PyDict_New)。如何将此数据复制到共享内存,以便其他进程可以获取此数据并将其转换为 Python 对象?
最佳答案
最简单的方法是将您的 Python 对象 pickle 成一个字符串并将该字符串复制到共享内存中。然后,另一个进程会将其解封为 Python 对象。来自 manual :
“Pickling” is the process whereby a Python object hierarchy is converted into a byte stream, and “unpickling” is the inverse operation, whereby a byte stream is converted back into an object hierarchy.
关于python - 如何将 PyObject * 内存数据复制到另一个内存地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33581526/