Java 后端,最近在写一个 Python 的小程序。有个需求是,这个程序有很多配置,因此我用了一个 YAML 文件来做配置。现在是通过 Python 读取这个文件转成一个 dict ,再使用的时候通过 key 来拿到配置。
这样就会有一个问题,程序中到处都在用这个 dict ,如果某天某个 key 变化了,就需要找到使用这个 dict 的地方一个一个修改。这样后期也非常不好维护。
现在的想法是有没有类似一个 Java 中的 Bean 一样,我把这个 dict 转换成一个对象,这个对象都是属性的集合,这样可以通过对象获取对应的属性,后面也好维护。
在 python 里面属性的集合怎么实现,或者说在 python 里有没有更好的实现方式。
1
kinghui 2016-12-23 18:35:29 +08:00
直接拿 Python 源文件作为配置文件不就行了, 至于配置的项用类属性还是直接用常量就看你自己的选择了, 我认为 Java 这种编译行语言拿 XML/YAML 之类的文本作为配置文件无非就是为了更改配置还需要重新编译, 但是 Python 完全没必要.
|
2
KentY 2016-12-23 18:38:50 +08:00
python 你也可以建立一个 class 呀, 只不过你转成一个 dict 变成转成一个那个 class 的 object 就好了.
另外, 即使你那个 dict 到处被读取,使用, 你也不能到处用 hardcoded 的 key name 吧, 应该弄常量代表 key name 字符串, 然后用那个常量读取. 这样你改 key, 只需修改一处. |
3
fwrq41251 2016-12-23 19:01:54 +08:00 via Android
你需要静态语言
|