网络编程
位置:首页>> 网络编程>> Python编程>> python Manager 之dict KeyError问题的解决

python Manager 之dict KeyError问题的解决

作者:一个人的场域  发布时间:2022-12-17 07:38:09 

标签:python,Manager,dict,KeyError

程序需要多进程见共享内存,使用了Manager的dict。

最初代码如下:


from multiprocessing import Process, Manager
d = 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, Manager
d = 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()

来源:https://blog.csdn.net/leiting_imecas/article/details/52778953

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com