我有一个配置文件,如下所示:

[job]
mailto=bob
logFile=blahDeBlah.txt

我想使用SafeConfigParser读取选项:
values = {}
config = ConfigParser.SafeConfigParser()
try:
    config.read(configFile)
    jobSection = 'job'

    values['mailto'] = config.get( jobSection, 'mailto' )
    values['logFile'] = config.get( jobSection, 'logFile' )
    # it is not there
    values['nothingThere'] = config.get( jobSection, 'nothingThere' )
.... # rest of code

最后一行当然会引发错误。如何为config.get()方法指定默认值?

再说一次,如果我有一个如下的选项文件:
[job1]
mailto=bob
logFile=blahDeBlah.txt

[job2]
mailto=bob
logFile=blahDeBlah.txt

job1部分中的默认选项不同,似乎没有办法为job2指定默认选项。

最佳答案

对构造函数使用defaults参数:

# class ConfigParser.SafeConfigParser([defaults[, dict_type]])
#
config = ConfigParser.SafeConfigParser({'nothingThere': 'lalalalala'})
...
...
# If the job section has no "nothingThere", "lalalalala" will be returned
#
config.get(jobSection, 'nothingThere')

关于python - 如何设置SafeConfigParser的默认值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6107149/

10-11 16:27