Файл чтения ConfigParser для python не существует

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

Вот как мы читаем файл конфигурации в Python. Но что, если "test.ini" не существует? Почему этот метод не генерирует исключение?

Как я могу заставить исключение, если файл не существует?

Ответ 1

Из docs:

Если ни один из названных файлов не существует, экземпляр ConfigParser будет содержат пустой набор данных.

Если вы хотите поднять ошибку, если какой-либо из файлов не найден, вы можете попробовать:

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

Ответ 2

Вы также можете явно открыть его как файл.

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

EDIT: добавлен недостающий