Python3的编程配置库。

ConfigMaster的Python项目详细描述


配置主机

Build StatusPyPI versionPyPI DailyDownloadsCoverage Status

什么是configmaster?

configmaster是访问配置文件的简单库 以编程方式。你不必再去查名单了 当您希望加载配置文件时,可以进行dict查找。
相反,文件中的对象作为简单的类属性访问。

支持的内容

configmaster支持以下内置格式:

  • yaml配置文件(通过PyYAML模块)
  • json配置文件(通过json
  • ini配置文件(通过ConfigParser
  • yaml/json文件的网络版本。

对不同类型配置文件的支持一直在增长 自由叉和添加支持!

待办事项

  • [删除:外接程序支持python configparser格式]外接程序 版本1.4.0
  • [删除:在1.3.0版中添加了网络化json支持]
  • 添加更多文档字符串
  • 制作适当的文档
  • [删除:添加测试]在版本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

要填充配置数据,只需将dict传递给初始填充。如果 文件为空,这将为其提供默认值,并返回true。如果它 不是,什么都没发生。注意:如果 网络文件上的exc.networkedfleexception!

>>> 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()

有需要保存的网络文件吗?使用方法 保存到文件。

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

需要获取configkey的原始dict格式吗?在上面使用.dump()!

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

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

推荐PyPI第三方库


热门话题
从方法名创建java查询无效。正在尝试筛选可分页的   构造函数中的java异常消息   java为什么我在MAC OS X 10.11上看不到java_主路径?   java如何澄清用户的输入是否是二进制数?   java在ant脚本中将JVM参数传递给clover   从txt文件读取调查结果并输出每个调查答案频率的Java程序   java进程引擎。getDefaultProcessEngine()空点异常   java SpringSecurity:忽略服务器名的别名并强制重新登录   java pythonsocket[Errno 57]socket未连接,尽管响应良好   使用Commons或Guava将文本文件转换为Java列表<String>   在hadoop中使用相同的输入文件为两个不同的任务创建两个输出文件   java方法toArray()不处理列表   我的应用程序中的java试图在Web服务器中更新数据库时获取通知。如何做到这一点?   java无法选择ListView项   java如何将变量传递给扩展类的方法   java使用片段中的数据绑定和相关活动的不同包   java出现读入文件问题,并将其设置为变量   JavaJSF2。0@EJB注入@ViewScoped导致MyFaces成为CFNE   java如何创建spring0boot项目?