如何正确管理应用程序配置

时间:2013-02-03 16:14:04

标签: python configuration

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

  • 所有可用属性及其默认值的列表 的地方。
  • 可以由app用户更改的属性列表,也可以在一个用户中更改 的地方。
  • 当我检索特定属性时,它的值是从 第二个列表(用户可更改的配置)或者如果它不存在,则来自 第一个清单。

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

1 个答案:

答案 0 :(得分:0)

创建一个默认设置模块,其中包含所需的默认设置。创建第二个模块,供用户在顶部使用from default_settings import *语句使用,并指示用户将任何替换内容写入此模块。

Python具有相当的表现力,因此在大多数情况下,如果您希望用户在任何级别上理解它,您可以使用Python模块本身作为配置文件。