我有一个使用标准ConfigParser库中的RawConfigParser读取的配置文件。我的配置文件有一个[DEFAULT]节,后面跟着一个[specific]节。当我循环浏览[特定]部分中的选项时,它包括[默认]下的选项,这就是要发生的事情。
但是,对于报告,我想知道选项是在[特定]部分还是在[默认]中设置的。使用RawConfigParser的接口有什么方法可以做到这一点吗?或者我除了手动解析文件之外别无选择吗?(我已经找了一点,我开始害怕最坏的情况……)
例如
[默认]
名称=a
姓氏=b
[章节]
名称=b
年龄=23岁
使用RawConfigParser接口,您如何知道选项名称和姓氏是从section[DEFAULT]还是section[section]加载的?
(我知道[DEFAULT]应该应用于所有人,但您可能希望在内部报告类似的事情,以便在复杂的配置文件中工作)
谢谢!
给定此配置文件:
下面的程序可以理解第1节使用的是默认的姓氏属性。
结果如下:
不是
RawConfigParser.has_option(section, option)
做的吗?最近,我通过将选项放入词典中,然后合并词典来实现这一点。它的精妙之处在于,用户参数会覆盖默认值,而且很容易将它们全部传递给函数。
相关问题 更多 >
编程相关推荐