2

最通用和最好的应用程序配置管理方法是什么?我想拥有这些属性以便拥有“良好的配置管理”:

  • 一个地方的所有可用属性及其默认值的列表。
  • 可以由应用程序用户更改的属性列表,也可以在一个地方进行。
  • 当我检索特定属性时,它的值将从第二个列表(用户可更改配置)返回,或者如果它不存在,则从第一个列表返回。

到目前为止,我所做的是将第一个列表硬编码为一个对象(更具体为 a dict),编写.conf用于ConfigParser使应用程序用户轻松更改某些属性的文件(第二个列表),并在配置对象以通过其名称检索属性,或者如果它不存在,则引发异常。最后,一个对象负责管理所有的东西(解析文件,引发异常,覆盖属性等)但我想知道,是否有一个内置库或多或少做同样的事情,甚至更好管理配置的方法,它考虑了所有的 KISS、DRY 和其他原则(我并不总是用这种方法成功地做到这一点)?

提前致谢。

4

1 回答 1

0

Create a default settings module which contains your desired default settings. Create a second module intended to be used by the the user with a from default_settings import * statement at the top, and instructing the user to write any replacements into this module instead.

Python is rather expressive, so in most cases, if you can expect the user to understand it on any level, you can use a Python module itself as the configuration file.

于 2013-03-06T22:24:34.257 回答