模块化python配置实用程序

modular-conf的Python项目详细描述


模块化配置

modular config是一个python包,用于在python中进行动态配置 尽可能简单的计划。它遵循模块化方法,这意味着如果您有一个项目 包含几个模块,每个模块都有您希望能够在中配置的参数 一个中心位置,例如一个配置文件,同时仍然可以定义 配置参数自包含在这些单独的模块中,然后您将看到 好地方。

用法

开始

首先创建一个中心配置对象,该对象保存整个配置并同步 它自己的配置文件。

frommodular_confimportConfigconfig=Config('config.json')

现在您可以使用配置注册模块。 创建一个要拥有的配置字段列表,并在模块名下注册它们。

frommodular_conf.fieldsimportBoolField,StringFieldfields=[BoolField(name='field1',default=False),StringField(name='field2',default='Sample')]config.register_module('your_module_name',fields)

注册字段后,配置将与配置文件同步。如果文件不存在 它将被创建,如果一些字段值还没有包含在配置文件中,它将被填充 给定的默认值。 在我们的例子中,如果以前没有配置文件,那么创建一个新的文件,看起来如下:

{"your_module_name":{"field1":false,"field2":"Sample"}}

可以在您的模块中访问配置,并且可以通过以下方式读取和设置字段值:

config.get('your_module_name','field1')config.set('your_module_name','field2','new value')

由于每个字段都是用给定的类型定义的,配置将自动验证每个字段并引发 发生类型不匹配时出错。例如呼叫

config.set('your_module_name','field2',False)

将引发一个错误,因为field2被定义为StringField

可用配置字段类型列表

  • intfield-简单整数
  • stringfield-简单字符串
  • boolfield-简单布尔型
  • choicefield-具有给定一组可能选择的字段(可以是任何类型)
  • listfield-包含任意列表
  • tuplelistfield-包含元组列表。元组具有预定义的长度,并且 每个元组元素的关联名称。例如IP地址、MAC地址对的列表。元组元素名 提高可读性,可用于前端呈现配置字段。
  • dictfield-包含任意字典

安装

简单地

pip install modular-conf

贡献

请随意打开拉取请求。任何形式的贡献都是非常感谢的!

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

推荐PyPI第三方库


热门话题
java SimpleFramework和工厂方法   Java适当地处理异常   java单例类不起作用   java小程序和Swing在eclipse中不显示组件   多个键上的java Redisson FastRemove不起作用   java验证请求正文不等于模式   在Java中从URL读取数据   eche RecyclerView项的java Set自定义字体   string Java如何从Date获取HH:mm:ss   当Java应用程序落后于负载均衡器时,在某些URL上强制使用SSL   使用esapi时发生java错误   java使用流根据第二个列表中的值更新一个列表中的对象   组织。openqa。硒。Java中的NoTouchElementException WebDriver?   从JSON字符串Java创建CSV文件