对configparser的一个简单扩展,它允许嵌套的回退配置

allya.nestedconfigparser的Python项目详细描述


默认情况下,configparser只加载“vars”、“section”和“default_section”中的值。此扩展允许使用节拆分器(默认为“.”)来嵌套节,并尝试从“vars”、然后是“section”、然后是其逻辑父级,最后是“default_section”中查找值。

例如,给定以下配置:

[DEFAULT]
alpha=first level

[section]
beta=second level

[section.subsection]
gamma=third level

默认的configparser的行为如下:

>>> settings = configparser.ConfigParser()
>>> settings.read('config.ini')
['config.ini']
>>> settings.get('section.subsection', 'alpha')
first level
>>> settings.get('section.subsection', 'beta')
None
>>> settings.get('section.subsection', 'gamma')
third level

相反,在此扩展中,行为将是:

>>> settings = nestedconfigparser.NestedConfigParser()
>>> settings.read('config.ini')
['config.ini']
>>> settings.get('section.subsection', 'alpha')
first level
>>> settings.get('section.subsection', 'beta')
second level
>>> settings.get('section.subsection', 'gamma')
third level

这个扩展支持理论上无限级别的嵌套。它也不要求每个级别的分段存在于没有附加配置的情况下。

注意:如果在使用“NestEdTrimePalpSer..NestDistCopyPARServer())获取时,此扩展不会引起NoStError错误。这是因为它将尝试回退到更高的部分,并避免在最高的部分没有任何附加配置的可能为空的部分。

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

推荐PyPI第三方库


热门话题
java将一个节点拖到另一个不运行JavaFX的节点中   java如何在spring boot中创建完全自定义的查询   java Arraylist和ArrayListBlockingQueue之间的区别是什么?   java Weblogic会中断长时间运行的线程吗   java如何调用displayAd()方法?   使用数组在两个组之间进行java IPL匹配   java如何在Eclipse中的org下创建测试套件。朱尼特   java获取屏幕上任意点的鼠标坐标   正则表达式需要java正则表达式方面的帮助   如何使用Java获取Ram大小和硬盘大小?   java如何将所需长度设置为数组中的整数?   安卓应用程序启动前的java程序已终止   swing设置要在Java代码中打印的页边距   迭代期间java故障安全迭代器的删除   java如何在main中调用方法,以便它们在同一行上输出?   编译Java:尝试播放mp3文件时出错   java如何使用Spring数据Rest在POST调用中保存嵌入对象   java JAXWS如何在端点外部注入SecurityContext