小编Dav*_*ave的帖子

如何使 ConfigParser 返回默认值而不是引发 NoOptionError?

我有一个配置文件,其中定义了一些选项。有时,如果找不到请求的选项,我想忽略错误并返回None

setting.cfg

[Set]
ip=some_ip
verify=yes     #if verify does not exist here --> verify=None
Run Code Online (Sandbox Code Playgroud)

test.py

import sys
import ConfigParser

file="setting.cfg"

class ReadFile:
   def read_cfg_file(self):
      configParser = ConfigParser.RawConfigParser(allow_no_value=True)
      if os.path.isfile(file):
          configParser.read(file)
      else:
          sys.exit(1)
      try:
          verify = configParser.get('Set', 'verify')
      except ConfigParser.NoOptionError:
          pass

      return verify,and,lots,of,other,values
Run Code Online (Sandbox Code Playgroud)

如果我这样处理它,我将无法返回值,因为如果'verify'找不到该选项,它就会简单地传递。

如果找不到选项,有什么方法可以忽略错误,而是返回None

例如,这样的事情:

verify = configParser.get('Set', 'verify')
if not verify:
    verify=False
Run Code Online (Sandbox Code Playgroud)

python exception configparser python-2.7

5
推荐指数
2
解决办法
7582
查看次数

标签 统计

configparser ×1

exception ×1

python ×1

python-2.7 ×1