0

我正在使用SafeConfigParser,我的配置文件包含一个[DEFAULT]部分,我正在使用下面的代码来提取该部分。

parser = SafeConfigParser(allow_no_value=True)
parser.optionxform = str  # makes names case sensitive
defaultAttributesDic = parser.defaults()

但是,我的DEFAULT部分包括插值,例如:

A= 10000
B= %(A)s

但问题是defaults()返回实际的原始值(不是插值)。这是为什么?什么时候有用?我不明白这个决定背后的原因?

parser.items(section)用来阅读其他部分,效果很好。值是插值返回的。我应该跳过defaultsitems("DEFAULT")改用吗?请给我解释一下?

4

1 回答 1

1

defaults()是继承自RawConfigParser的方法,支持插值。

我认为您应该保留该[DEFAULT]部分以便为其他部分提供默认值,而不是试图将其“滥用”“正常”部分。该[DEFAULT]部分具有特殊含义,甚至不包含在sections()or之类的方法中has_section()

如果您需要“默认”部分,只需将其命名为DEFAULT.

于 2012-10-26T12:45:04.850 回答