python Manager 之dict KeyError问题

来源:互联网 发布:傻柱 知乎 编辑:程序博客网 时间:2024/06/05 18:35

程序需要多进程见共享内存,使用了Manager的dict。最初代码如下:

from multiprocessing import Process, Managerd = Manager().dict()d2 = {}def f():    d['a1'] = {} <span style="color:#ff6666;">   d['a1']['a2'] = 11</span>    print d['a1']['a2']if __name__ == '__main__':    p = Process(target=f)    p.start()    p.join()

结果报错:

    print d['a1']['a2']KeyError: 'a2'

解决方案:

from multiprocessing import Process, Managerd = Manager().dict()d2 = {}def f():    d['a1'] = {}<span style="color:#ff6666;">    d2['a2'] = 11    d['a1'] = d2</span>    print d['a1']['a2']if __name__ == '__main__':    p = Process(target=f)    p.start()    p.join()


0 0
原创粉丝点击