我希望能够读取一个配置文件,并希望确保所有的键都存在并且有一个值。
例如,如果我有这个配置,那么watch-dir已经被注释掉了。
[settings]
#watch-dir = /home/pi/shared/ups
poi-dir = /home/pi/shared/POI History
oor-dir = /home/pi/shared/117 History我希望密钥仍然存在,并有一个默认值。
这是我写的处理这件事的东西,但我觉得有点无趣。在配置解析器中是否有适当的方法来做到这一点?
def GetConfig():
config = ConfigParser()
config.read('config.ini')
cfg_defaults = {'watch-dir' : '/home/pi/shared/ups',
'poi-dir' : '/home/pi/shared/POI History',
'oor-dir' : '/home/pi/shared/117 History'}
for x in cfg_defaults:
if not x in dict(config.items('settings')):
config.set('settings', x, cfg_defaults[x])
return config发布于 2014-04-29 20:35:54
ConfigParser将默认值字典作为第一个参数。
cfg_defaults = {'watch-dir' : '/home/pi/shared/ups',
'poi-dir' : '/home/pi/shared/POI History',
'oor-dir' : '/home/pi/shared/117 History'}
config = ConfigParser(cfg_defaults)
config.read('config.ini')
return confighttps://stackoverflow.com/questions/23374271
复制相似问题