在python代码中轻松配置参数!
configer的Python项目详细描述
配置程序
这是包CONFIGER的存储库有助于在python代码中轻松配置参数
简介
当Python程序变大时,最终需要一种通过文件加载配置的方法对此,python的configparser给出了常见的答案。但至少我发现使用configparse的结果是一段难看的代码:
import ConfigParser
Config = ConfigParser.ConfigParser()
Config.read("c:\\tomorrow.ini")
Config.get(section, option)
这就是我打包解决这个问题的原因configer基本上为您提供了一个扁平的configparser,它具有额外的功能:
- 对设置文件中的值进行点访问
- 将设置转储到文件供以后使用
- 在选择重载上一个设置时添加不同的设置。
依赖关系
这个包是为Python 2.7编写的。
唯一的依赖项是configparser,将由setup.py
自动安装
安装
在根目录中,键入
pip install .
示例
整体配置将是一个光滑的方式,从机械分离设置上述代码的准确副本为:
from configer import Configer
Config = Configer(default_ps_fname='c:\\tomorrow.ini')
Config.option
注意,您已经没有部分了,您可以使用点访问方法访问一个选项。
其他用例是:
加载默认设置
default_ps_fname = 'pyconfiger/Configer/test/sample_settings.ini' ps = Configer(default_ps_fname=default_ps_fname) print(ps.status) # None
在添加新参数时加载默认设置
ps = Configer(default_ps_fname=default_ps_fname, status=False) print(ps.status) # False ps.status = True print(ps.status) # True ps.new_status = True print(ps.new_status) # True
使用参数字典初始化时加载默认设置
ps = Configer(default_ps_fname=default_ps_fname, status=False,**{'somethings': [1.0, 2.0]}) print(ps.somethings) # [1.0, 2.0]
使用第二个配置程序实例添加和重载
ps1 = Configer(status=False) ps2 = Configer(status=True, othersetting = 'this') ps3 = ps1 + ps2 print(ps3.status) # False print(ps3.othersetting) # 'this' ps4 = ps1.overload(ps2) print(ps4.status) # True
将当前配置程序实例转储为.ini文件
ps = Configer(default_ps_fname=default_ps_fname, status=False) print(ps.status) # False ps.dump_settings(fname='~/settings.ini') # saves the settings to the specified file
测试
要运行测试,请在根目录中键入:
python -m unittest discover
许可证
请参见license.txt
作者
尼玛·戈尔巴尼,nima.ghorbani@tuebingen.mpg.de