详解python如何修改多进程共享字典

按照正常修改字典的逻辑修改字典,代码如下:

import multiprocessing
multi_dict = multiprocessing.Manager().dict()
multi_dict.update({"dev1": {"app1": [11], "app2": [22]}, "dev2": {"app3": [33], "app4": [44]}})
print(multi_dict)
# 打印结果:{'dev1': {'app1': [11], 'app2': [22]}, 'dev2': {'app3': [33], 'app4': [44]}}
# 现在要更新dev1中app2的值,该怎么办?
# 正常的修改方法
multi_dict['dev1']['app2'] = multi_dict['dev1']['app2'] + [222]
print(multi_dict)
# 打印结果:{'dev1': {'app1': [11], 'app2': [22]}, 'dev2': {'app3': [33], 'app4': [44]}}

稍微修改一下代码

import multiprocessing
multi_dict = multiprocessing.Manager().dict()
multi_dict.update({"dev1": {"app1": [11], "app2": [22]}, "dev2": {"app3": [33], "app4": [44]}})
temp_dict = multi_dict["dev1"]
temp_dict["app2"] = temp_dict["app2"] + [222]
multi_dict["dev1"] = temp_dict
print(multi_dict)
# 打印结果:{'dev1': {'app1': [11], 'app2': [22, 222]}, 'dev2': {'app3': [33], 'app4': [44]}}
posted @ 2020-09-06 11:14  凯尔哥  阅读(3604)  评论(1编辑  收藏  举报