在Python中将字典转换为对象
起因
涉及到这个问题的原因是因为从YAML文件中读取到的属性,被保存到了一个字典中,如下:
1 | import yaml |
后续调用config变量中的配置时,必须要使用:
1 | config.get('属性名', "默认值") |
但是这样写太麻烦。
解决办法
将config从字典转成一个对象,所有的属性就可以通过点操作,直接拿到:
1 | config.属性名 |
使用到的技术
python:self.__dict__
__dict__
是一个字典,键为属性名,值为属性值;
所有对象中的成员方法、成员变量等,都可以在这个地方找到。
dict.update()
可以更新字典的值。
具体代码
1 | class Struct: |
在Python中将字典转换为对象