python一切皆对象,dict是object的子类。标题的意思是以.obj的 访问字典。
以下示例是针对单层的dict
类方式
class Struct:
def __init__(self, obj):
self.__dict__.update(obj)
# d1 = Struct(d)
# print(d1.k)
涵数的方式
def dict_to_obj(d):
class O:
pass
[setattr(O, k, d[k]) for k in d]
return O
# d = {"k": "i", "k1": 8}
# print(dict_to_obj(d).k)
如果是两层或多层字典
采用循环或递归的方式
def _dict_to_object(d):
class O: pass
for _k in d:
if type(d[_k]) == dict:
setattr(O, _k, Struct(**d[_k]))
else:
setattr(O, _k, d[_k])
return O
r = _dict_to_object(row)