Я пишу класс для разбора различных конфигурационных файлов. Он содержит методы для 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()}