使用python.exe

时间:2019-07-17 16:30:09

标签: python dictionary process multiprocessing

我想执行一个文件: python main.py->创建字典= {'var':'hello'}。

然后,我想在另一个执行文件的文件中使用该dict实例: python client.py->我要打印{'var':'hello'}

我已经看到一些示例,其中两个进程使用Manager()共享数据。在示例中,main.py和client.py都在单个文件上启动,然后将两个进程都加入,等等。我不想这样做。

Python 3.6.8

我尝试过:

main.py:

from multiprocessing import Process, Manager
def f(d):
    d['var'] = 'hello'
    print (d)

if __name__ == '__main__':
    manager = Manager()
    d = manager.dict()
    d['var'] = None
    p = Process(target=f,args=(d,)) # say to 'f', in which 'd' it should append
    p.start()
    p.join()
    input()

client.py:

from multiprocessing import Process, Manager

def f(d):
    print (d)

if __name__ == '__main__':
    manager = Manager()
    d = manager.dict()

    print(d)
    p = Process(target=f,args=(d,)) # say to 'f', in which 'd' it should append
    p.start()
    p.join()
    input()

预期结果 main.py => {'var','hello'} cient.py => {'var','hello'}

实际结果 main.py => {'var','hello'} cient.py => {}

0 个答案:

没有答案