支持多配置文件,灵活的配置库

octoconf的Python项目详细描述


Logo

octoconf

Python PackageBuild StatusServer Dependency StatusCode QualityServer Test CoverageLicense

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

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

推荐PyPI第三方库


热门话题
图像处理Java 8 ImageIO在Linux中无法正确读取JPEG   spring如何用Java 1.4兼容版本替换@Resource注释   java Http请求参数类型传播   在web浏览器中看不到Java Maven Tomcatplugin web应用程序   jvm在Java中使用直接内存的目的是什么?   如何从列表转换为字符串java   java setAdapter gridview发送上下文   SwingJava。方法上的lang.NullPointerException   java什么是shell脚本、makefile和ant文件   当使用getGraphics()方法时,java JPanel图形会闪烁   java如何将迭代转换为递归?   java为什么我的抽屉菜单在同一个XML上有ConstraintLayout时没有响应?   java如何在图像上画一个圆?   Android studio:Rabbitmq:Error:java。lang.ClassNotFoundException:类io。千分尺。果心仪器找不到仪表注册表