26
import ConfigParser
config = ConfigParser.ConfigParser()
config.read('test.ini')

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

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

4

2 回答 2

26

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

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

编辑:为 python 3 更新。

于 2014-07-18T19:10:39.340 回答
21

文档

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

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

files = ['test1.ini', 'test2.ini']
dataset = config.read(files)
if len(dataset) != len(files):
    raise ValueError("Failed to open/find all config files")
于 2013-08-06T22:02:24.907 回答