python - 将 JSON 加载到 multiprocessing.managers.DictProxy 对象中

标签 python json dictionary multiprocessing

我正在尝试将 JSON 对象加载到 DictProxy 对象中,但没有看到“简单”的方法。我可以很容易地将 JSON 加载到字典中,但如果我尝试将此 dict 复制到 DictProxy 中,它仍然是 dict (这对我的做法是有意义的)。我可以创建一个空的 DictProxy,然后构建一个循环遍历我的 dict 并填充 DictProxy 的函数,但我觉得这应该是不必要的。我也找不到太多关于 DictProxy 的文档,所以我不太确定它与 dict 共享(或不共享)哪些功能。有没有一种干净的方法来做到这一点,或者我应该构建循环遍历 dict 并构建 DictProxy 的函数?

代码:

import multiprocessing
import json

def main():
    with open(r"c:\path\to\my.json") as js:
        my_dict = json.load(js)    
    print type(my_dict) # <type 'dict'>

    manager = multiprocessing.Manager()
    my_dict_proxy = manager.dict()
    print type(my_dict_proxy) # <class 'multiprocessing.managers.DictProxy'>

    my_dict_proxy = my_dict
    print type(my_dict_proxy) # <type 'dict'>

if __name__ == "__main__":
    main()

最佳答案

DictProxy 提供了 update() 方法。您应该能够执行以下操作:

manager = multiprocessing.Manager()
my_dict_proxy = manager.dict()
my_dict_proxy.update(my_dict)

关于python - 将 JSON 加载到 multiprocessing.managers.DictProxy 对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49804815/

相关文章:

android - Android 中的 ListView 复制

json - Node.js 将 XML 转换为 JSON 并将其返回给前端

python - 从字典中删除嵌套键

C# 字典如何从文件中读取键=值

python - 用多种推导式填充字典

python - 如何注释 Django QuerySet 聚合带注释的子查询

python - 断言错误: You cannot render this Element if it is not in a Figure

java - gson 未终止的字符串错误

python - 用前后的平均值填充包含 NaN 的单元格

python - 使 Python 脚本在 Windows 上运行而不指定 ".py"扩展名