Python转换dict到object


python 字典转换到对象代码片段convert-python-dict-to-object

class obj(object):
    def __init__(self, d):
        for a, b in d.items():
            if isinstance(b, (list, tuple)):
               setattr(self, a, [obj(x) if isinstance(x, dict) else x for x in b])
            else:
               setattr(self, a, obj(b) if isinstance(b, dict) else b)

 d = {'a': 1, 'b': {'c': 2}, 'd': ["hi", {'foo': "bar"}]}
 
>>> x = obj(d)
>>> x.b.c
2
>>> x.d[1].foo
'bar'


你可能感兴趣的:(Python转换dict到object)