如何设置 SafeConfigParser 的默认值?
我有一个配置文件如下:
[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
部分中的默认选项不同的默认选项。
I have a config file as follows:
[job]
mailto=bob
logFile=blahDeBlah.txt
I want to read the options using 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
The last line of course will throw an error. How can I specify a default value for the config.get()
method?
Then again, if I have an options file as follows:
[job1]
mailto=bob
logFile=blahDeBlah.txt
[job2]
mailto=bob
logFile=blahDeBlah.txt
There seems to be no way to specify default options for job1
different from the default options in section job2
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您还可以使用默认的“.ini”文件并在实际配置文件之前读取它。
default.ini:
config.ini:
解析:
You can also use a default ".ini" file and read it before your actual config file.
default.ini:
config.ini:
parsing:
使用构造函数的
defaults
参数:Use the
defaults
parameter to the constructor:在 Python 3 中,您可以向 get() 方法提供后备值,如下所示:
In Python 3 you can provide a fallback value to the get() method as follows:
您可以使用 [DEFAULT] 部分为尚未在任何其他部分中定义的属性设置默认值。
例如
,对于叮叮应用,
src
的值为/data/workspace/dingdong_src
You can use the [DEFAULT] section to set default values for the properties you haven't defined in any other section(s).
E.g.
For the ding ding app, the value of
src
will be/data/workspace/dingdong_src