Python 3的编程配置库。
项目描述
ConfigMaster
什么是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 查看哈希值)
关闭
ConfigMaster-2.3.6.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 89c151bc9fbfefe20883e70391fc5fb4a2ad63c339e9d9cc89af6bcb89fb98f0 |
|
MD5 | a5a2033d0b0bb0ccc381e9e593be1efd |
|
BLAKE2b-256 | 7eec13fab43645bacc027f864ecddac0a3b353442ffed9a87344132818084139 |
关闭
ConfigMaster-2.3.6-py3.5.egg的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 527942c41250c66511e6818e112c8c7423d169dc1932b0ed4110ef3c58c3e3ee |
|
MD5 | 81ee16bda5c04b588a61d2c29e30ef10 |
|
BLAKE2b-256 | f7a544b2876a99d204d0c0cbc623c892ec1cfb3305f1935d82130020cc4322e2 |