Файл чтения 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: добавлен недостающий