我有一个经理和一个dict代理。我想从另一个进程访问它。为了简洁起见,示例代码只使用一个进程,但假设我们没有对它的直接引用(就像另一个进程是从第一个进程创建的)。 我在“d1”类型下注册dict proxy dict1,以便可以远程访问它。我检查了经理的注册表,看到了那里的dict代理。 但是当我试图通过拨打d1来访问它时,我从遥控器得到了一个键错误。我知道我可以创建一个方法来访问dict,但是必须有一种直接的方法来访问dict代理(python2,第16.6章)。在
from multiprocessing.managers import SyncManager
from sys import stderr
proxy = SyncManager()
proxy.start()
dict1 = proxy.dict({'k1': 'blah'})
proxy.register('d1', dict1)
# next line shows that d1 is bound method of manager
print >>stderr, 'd1 is', proxy.d1
# next line produces a KeyError
print 'The value of d1 is', proxy.d1()
运行输出
^{pr2}$
发现必须在调用注册新类型之后启动代理服务器;在代理启动后进行的注册似乎不起作用。在
相关问题 更多 >
编程相关推荐