ConfigParser.setdefault
与设置ConfigParser的默认值无关。如果要设置默认值,请使用
DEFAULT
节,它为其他节提供默认值:
cp['DEFAULT']['key'] = 'value'
或者如果您配置了不同的
default_section
,使用任何配置。
如中所述
docs
,
configparser对象的行为尽可能接近实际字典。映射接口是完整的,并遵循可变映射ABC。但是,应该考虑到一些差异:
[差异列表,没有涉及
setdefault
]
设置默认值
是由MutableMapping指定的操作之一。
cp.setdefault('asd', 'foo')
尝试设置
cp['asd'] = 'foo'
如果没有
cp['asd']
,然后返回
cp['asd']
.
在ConfigParser中,用于
cp['asd']
会是一个
'asd'
节,并且设置不合法
cp['asd']=“foo”
. 设置是合法的
cp['asd']
但你已经有了
cp['asd']
部分,所以你的
cp.setdefault('asd', {'foo': 'bar'})
电话也没做任何事。