gpt4 book ai didi

Python 检查对象是 ListProxy 还是 DictProxy

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:56 26 4
gpt4 key购买 nike

我正在 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

但是这些似乎不是内置类型,我尝试根据基本列表和字典类型检查它们,但它们显然不起作用

如何在代码中测试这些类型?

最佳答案

试试这个。

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

关于Python 检查对象是 ListProxy 还是 DictProxy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59713359/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com