Python Проверьте, является ли объект ListProxy или DictProxy - PullRequest
1 голос
/ 13 января 2020

Я использую многопроцессорный модуль в python и использую списки общих переменных и дикты, предоставляемые менеджером mp.

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, но они явно не работали

Как я могу проверить эти типы в коде

1 Ответ

0 голосов
/ 13 января 2020
from multiprocessing.manager import ListProxy, DictProxy

if isinstance(b, ListProxy):
    do something
elif isinstance(c, DictProxy):
    do something else

Вы можете просто импортировать их из того места, где они были определены, что находится в модуле менеджера

...