支持多配置文件,灵活的配置库
octoconf的Python项目详细描述
octoconf
Python 2和3的多配置文件支持的灵活配置库。
功能
- 允许在一个yaml文件中使用多个配置文件
- 允许包含多个yaml文件
- 从特殊用例的代码中选择可重写的配置文件(例如用于测试的配置文件)
- 可继承的配置文件,是什么使配置文件通过字典合并。(也提供本地yaml书签)
- 可以使用配置文件中的变量
安装
pip install octoconf
配置格式
一个octoconf配置文件是带有一些保留关键字的纯yaml文件:
- USED_CONFIG>: <node_name>在文件根目录中
- 您可以指定默认配置文件的名称
- <INCLUDE: <yml_path(s)>在文件根目录中
- 将包含此octoconf文件
- <BASE: <node_name>在第二级
- 这将用于在配置文件之间进行(基于合并的)继承
配置文件节点应该在第一级!
使用量
- 您可以使用loads(): 从字符串加载配置
importoctoconfconfig=octoconf.loads(yaml_string)print(config)
- 或直接从stringio(例如从文件)使用load():
importoctoconfwithopen('config.yml')asfd:config=octoconf.load(fd)print(config)
请检查features docs以了解octoconf的功能。
示例yaml文件
USED_CONFIG>:UserConfig<INCLUDE:vendor.defaults.yml# This config overrides the production preset (from vendor.defaults.yml file)UserConfig:<BASE:ProductionConfigApp:TITLE:"AmazingFoobar"Flask:SQLALCHEMY_DATABASE_URI:"sqlite:///${SERVER}/app.sqlite"
有关更多示例,请检查examples目录。
虫子
错误还是建议?参观issue tracker。