【问题标题】:python ConfigParser read file doesn't existpython ConfigParser读取文件不存在
【发布时间】:2013-08-06 21:17:14
【问题描述】:
import ConfigParser
config = ConfigParser.ConfigParser()
config.read('test.ini')

这就是我们在 Python 中读取配置文件的方式。但是如果“test.ini”文件不存在怎么办?为什么这个方法不抛出异常?

如果文件不存在,如何让它抛出异常?

【问题讨论】:

标签: python exception configparser


【解决方案1】:

您也可以将其作为文件显式打开。

try:
    with open('test.ini') as f:
        config.read_file(f)
except IOError:
    raise MyError()

编辑:针对 python 3 更新。

【讨论】:

  • 这行得通。顺便说一句:readfp() 现在已经过时了(至少在 Python 3 中)。现在称为read_file()
  • 更新 Nov2019/python 3,注意/相应调整: DeprecationWarning:此方法将在未来版本中删除。请改用“parser.read_file()”。
【解决方案2】:

来自docs

如果命名文件都不存在,ConfigParser 实例将 包含一个空数据集。

如果您想在找不到任何文件的情况下引发错误,那么您可以尝试:

files = ['test1.ini', 'test2.ini']
dataset = config.read(files)
if len(dataset) != len(files):
    raise ValueError("Failed to open/find all config files")

【讨论】:

  • 为什么config.read('test.ini') 不应该是config.read(files)
猜你喜欢
  • 1970-01-01
  • 2021-01-13
  • 2012-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-03
  • 1970-01-01
相关资源
最近更新 更多