Python configparser автоматически конвертировать в bools - PullRequest
1 голос
/ 31 октября 2019

Я пишу класс для разбора различных конфигурационных файлов. Он содержит методы для yaml файлов и ini + cfg файлов.

Парсинг yamls работает нормально, но у меня есть проблема с этими двумя другими. В основном я их читаю, я их анализирую, но если, например, мой config.cfg файл выглядит так:

[foo]
bar: True

Значение config['foo']['bar'] будет 'True', а не True, поэтому я заканчиваюсо строкой.

Я не хочу заставлять пользователей моего класса преобразовывать заданное значение. Есть ли способ обойти это, чтобы строки стали логическими значениями?

PS После прочтения конфигурации, которую я конвертирую, возвращаем словарь значений для чтения, например:

config_parser = configparser.ConfigParser()
config_parser.read(config_file_path)
return {section: dict(config_parser.items(section)) for section in config_parser.sections()}
...