如何在Python中跨两个不同进程共享数据
我有两个不同的过程如何在Python中跨两个不同进程共享数据,python,Python,我有两个不同的过程 Generator.py:创建一些数据并转储到磁盘 Control.py:控制脚本,从中可以使用子流程调用Generator.py 我试图实现的是Control.py可以接收Generator.py的输出,而无需将其输出转储到磁盘。我希望以这样一种方式建立通信:Control.py可以从Generator.py获取内存中的数据 情景是这样的: Generator.py def foo(): myList = [1,2,3] return myList fo
Generator.py
def foo():
myList = [1,2,3]
return myList
foo()
Control.py:
handleA = subprocess.Popen(["python", "Generator.py"])
我的目标是控制myList.py。在这种情况下,我该怎么做?
我计划使用multiprocessing.Queue,但问题是如何通过子流程与Generator.py共享队列对象
实现这一点的最佳方法是什么?可能的重复我有两个单独的程序,没有通用函数,如何共享从Generator.py生成的数据以控制.py为什么要用subprocess启动它?您可以使用python进程,因为这两个程序都是python脚本。因为如果您使用进程(而不是子进程),您可以使用队列接口与两个进程共享状态,您的意思是我应该在Generator.py中添加call作为
process(target=foo,args=(q,)
,但是Control.py将如何获得我将放入Generator.py中的数据?