跳转到主要内容

Python 3的编程配置库。

项目描述

ConfigMaster

Build Status PyPI version PyPI DailyDownloads Coverage Status

什么是ConfigMaster?

ConfigMaster是一个简单的库,用于以编程方式访问配置文件。不再需要在加载配置文件时与列表查找和字典查找打交道。
相反,文件中的对象可以通过简单的类属性访问。

支持什么

ConfigMaster内置支持以下格式

  • YAML配置文件(通过PyYAML模块)

  • JSON配置文件(通过json)

  • INI配置文件(通过ConfigParser)

  • YAML/JSON文件的网络版本。

对不同类型配置文件的支持不断增长 - 欢迎贡献以添加支持!

待办事项

  • [STRIKEOUT:添加对python ConfigParser格式的支持] 在版本1.4.0中添加

  • [STRIKEOUT:添加对网络JSON的支持] 在版本1.3.0中添加

  • 添加更多docstrings

  • 制作适当的文档

  • [STRIKEOUT:添加测试] 在版本1.3.1中添加

如何安装

对于上传到PyPI的最新稳定版本,使用
pip install configmaster
对于上传到git的最新稳定版本,使用
pip install git+ssh://cloning@git.sundwarf.me/SunDwarf/configmaster
对于最新的开发版本,使用
pip install git+ssh://cloning@git.sundwarf.me/SunDwarf/configmaster@develop

安装后,运行测试是推荐的。

py.test -rfEsxXw -v --strict test.py

如何使用

ConfigMaster为您处理一切。只需指定文件位置,值将自动为您加载。

>>> from configmaster import YAMLConfigFile
>>> cfg = YAMLConfigFile.YAMLConfigFile("test.yml") # Created automatically if it doesn't exist

也支持网络配置文件。

>>> from configmaster import JSONConfigFile
>>> cfg = JSONConfigFile.NetworkedJSONConfigFile("http://example.com/data.json")

要访问配置值,从存储的配置对象获取所需的属性。

# YAML data is {"a": 1, "b": [1, 2], "c": {"d": 3}}
>>> cfg.config.a
1
>>> cfg.config.b[1]
2
>>> cfg.config.c.d
3

要填充配置数据,只需将一个字典传递给initial_populate。如果文件为空,则为其提供默认值并返回True。如果不为空,则不执行任何操作。注意:在网络文件上这将失败并抛出exc.NetworkedFileException异常!

>>> pop = cfg.initial_populate({"a": 1, "b": [1, 2], "c": {"d": 3})
>>> if pop: cfg.dump() and cfg.reload() # Dump data and reload from disk.

要保存数据,请运行.dump()。

>>> cfg.dump()

需要保存网络文件?请使用save_to_file方法。

>>> cfg.save_to_file("example.json")

需要获取ConfigKey的原始字典形式?请在上面使用.dump()!

>>> cfg.config.dump()
{"a": 1, "b": [1, 2], "c": {"d": 3}
>>> cfg.config.c.dump()
{"d": 3}

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

ConfigMaster-2.3.6.tar.gz (8.8 kB 查看哈希值)

上传

构建分布

ConfigMaster-2.3.6-py3.5.egg (24.7 kB 查看哈希值)

上传

ConfigMaster-2.3.6-py3.4.egg (24.7 kB 查看哈希值)

上传

ConfigMaster-2.3.6-py3.3.egg (25.0 kB 查看哈希值)

上传

ConfigMaster-2.3.6-py3.2.egg (24.6 kB 查看哈希值)

上传

由以下提供支持