相关疑难解决方法(0)

尝试从嵌套的 Manager.dict 访问键值时出现 KeyError

我有一些多处理代码,我想在其中共享进程之间的嵌套字典。字典永远不会被进程修改;刚读。

以最简单的形式,有问题的代码如下:

from multiprocessing import Manager

class MyClass(object):

    def __init__(self):
        self.manager = Manager()
        self.delays = self.manager.dict({})

    def foo(self, types, keys):
        for type in types:
            self.delays[type] = self.manager.dict({})

            for key in keys:
                self.delays[type][key] = 0

                print("The delay is " + str(self.delays[type][key]))
Run Code Online (Sandbox Code Playgroud)

KeyError在打印语句中得到一个,它说我使用的密钥不存在。我不确定为什么会发生这种情况,因为我只是将密钥插入到字典中。当我将其更改为常规 dict 时,问题就消失了。

python dictionary multiprocessing python-3.x

5
推荐指数
1
解决办法
1598
查看次数

标签 统计

dictionary ×1

multiprocessing ×1

python ×1

python-3.x ×1