Python Glossary English

Python 3.5+configparserпонятие

configparser.ConverterMapping

доступ к секциям

Словарь parser.converters: имя → функция преобразования. Добавленный ключ list создаёт методы getlist() у парсера и у всех его секций.

Синтаксис

parser.converters['name'] = func  # или ConfigParser(converters={'name': func})

Это законный способ получить из строкового конфига списки, пути или даты, не наследуя парсер. Конвертер получает уже интерполированную строку. Удаление ключа убирает и метод. Встроенные int, float и boolean лежат в том же словаре, поэтому их можно переопределить.

Примеры

import configparser
cfg = configparser.ConfigParser()
cfg.read_string("[app]\nhosts = a, b, c\n")
cfg.converters["list"] = lambda s: [x.strip() for x in s.split(",")]
print(cfg.getlist("app", "hosts"))  # → ['a', 'b', 'c']
print(cfg["app"].getlist("hosts"))  # → ['a', 'b', 'c']
print(sorted(cfg.converters))  # → ['boolean', 'float', 'int', 'list']
del cfg.converters["list"]
print(hasattr(cfg, "getlist"))  # → False

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности