【发布时间】:2013-01-18 10:18:12
【问题描述】:
什么是最通用和最好的应用程序配置管理方法?我想拥有这些属性以便拥有“良好的配置管理”:
- 所有可用属性及其默认值的列表 地点。
- 应用程序用户可以更改的属性列表,也可以在一个 地点。
- 当我检索特定属性时,它的值是从 第二个列表(用户可更改的配置),或者如果它不存在,从 第一个列表。
到目前为止,我所做的是将第一个列表硬编码为一个对象(更具体地是一个 dict),写了 .conf 使用的文件 ConfigParser 使应用程序用户可以轻松更改一些属性(第二个列表),并在 config 对象上编写了一个公共方法,以通过其名称检索属性,或者如果它不存在,则引发异常。最后,一个对象负责管理所有的东西(解析文件,引发异常,覆盖属性等)但我想知道,是否有一个内置库或多或少做同样的事情,甚至更好管理配置的方法,它考虑了所有 KISS、DRY 和其他原则(我并不总是使用这种方法成功)?
提前致谢。
【问题讨论】:
-
我不关注,
ConfigParser是内置的,似乎适用于您的用例,KISS 和 DRY 是您的责任,稍加思考就可以实现。 - 当然你可以使用pickle或marshal来保存你的应用程序的整个状态,但是这是不可配置的。 -
ConfigParser确实是您想要在这里使用的。不过,我对你的解释有点困惑。是否有您不能/不想使用ConfigParser的特定原因? -
我可以使用它,并且确实使用它,但是
ConfigParser的级别太低了,我想知道是否有一种方法可以更抽象地做到这一点。我认为我要实现的是一项常见任务,所以只想问其他人是否有更好的方法来管理配置。感谢您的回复
标签: python configuration