实用配置系统

fitb的Python项目详细描述


一个实用的python配置系统。

使用fitb,可以指定程序/库/所需的配置选项的集合。fitb然后 帮助您构造配置对象并将它们合并在一起。

配置对象configuration object只是一个dict,因此fitb可以帮助您构建dicts。 进入dict的路径,即进入dict和子区域的键序列,以及选项和 默认值。

快速启动

使用fitb首先要定义一个配置选项集合:

options=[(('my-app','screen'),fitb.Option('width','Width of screen',100)),(('my-app','screen'),fitb.Option('height','Height of screen',200))]

列表中的每个条目都指定了前缀路径和选项本身。从这里我们可以建立一个 默认配置选项:

config=fitb.build_default_config(options)

这给了我们一个这样的对象:

{'my-app':{'screen':{'width':100,'height':200}}}

用它可以做这样的事情:

print(config['my-app']['screen']['width']

或使用子图:

screen_config=config['my-app']['screen']print(screen_config['width'])

也可以合并配置文件,将条目从一个配置添加到另一个配置文件中,可能覆盖退出选项。 看起来是这样:

fitb.merge(dest=config,src={'my-app':{'screen':{'width':400}}})# The `dest` config has been updatedassertconfig['my-app']['screen']['width']==400

这种合并功能非常有用,因为您可以执行如下操作:

  1. 创建默认配置
  2. 从文件加载用户配置(例如toml、ini或其他文件)
  3. 将用户配置合并到默认配置中。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android同步不同页面上的按钮   java评测每个类收集的垃圾对象实例数   java(Spring MVC+Hibernate 4+Test 4)自动连线DAO返回NULL   java Android编辑文本和虚拟键盘   java Selenium与BrowserMobProxy   JAVAlang.NoClassDefFoundError:com/sun/jersey/spi/inject/Errors$关闭原因?   java为什么在我成功登录后仍然会出现“不正确的帐户或密码或用户类型”   安卓应用程序在重新启动java时崩溃。网UnknownHostException:无法解析主机   多线程在Java中同步共享静态对象的正确方法是什么?   未调用自定义注释的java类验证(约束类)   java如何将指定目录的存档文件放入所需位置?   java如何识别Selenium中的每个编辑文本字段,如果它们的Xpath都相同   使用gwtmockito/mockito的java简单单选按钮单元测试?