我正在使用python中的多进程模块,并使用mp管理器提供的共享变量列表和dict。
import multiprocessing as mp
a = mp.Manager()
b = a.list()
b
<ListProxy object, typeid 'list' at 0x14098207908>
c = a.dict()
c
<DictProxy object, typeid 'dict' at 0x140984579c8>我想做的是:
if isinstance(b, ListProxy):
do something
elif isinstance(c, DictProxy):
do something else然而,这些似乎不是内置在类型中的,我试着对照基本列表和dict类型来检查它们,但它们显然不起作用
如何在代码中测试这些类型?
发布于 2020-05-18 16:44:28
尝尝这个。
import multiprocessing as mp
def judge(x):
if isinstance(x, mp.managers.ListProxy):
print('It is a ListProxy.')
elif isinstance(x, mp.managers.DictProxy):
print('It is a DictProxy.')
else:
pass
pass
def main():
a = mp.Manager()
b = a.list()
c = a.dict()
judge(b)
judge(c)
pass
if __name__ == '__main__':
main()
pass发布于 2020-01-13 17:11:57
from multiprocessing.manager import ListProxy, DictProxy
if isinstance(b, ListProxy):
do something
elif isinstance(c, DictProxy):
do something else您可以从定义它们的位置导入它们,该位置位于管理器模型中
https://stackoverflow.com/questions/59713359
复制相似问题