все Python 3configparserисключение
configparser.InterpolationError
исключения
Базовое исключение ошибок подстановки %(имя)s и ${секция:ключ}: синтаксиса, отсутствующей ссылки и слишком глубокой цепочки.
Синтаксис
except configparser.InterpolationError as e: e.section, e.option
Важно, когда оно возникает: подстановка ленивая, поэтому битый конфиг спокойно читается и падает только при get() нужного ключа — иногда далеко от места загрузки. Чтобы проверить конфиг сразу, пройдите по всем ключам после чтения. raw=True и interpolation=None обходят подстановку целиком.
Примеры
import configparser
cfg = configparser.ConfigParser()
cfg.read_string("[a]\nok = 1\nbad = %(nope)s\nrate = 5%\n")
for key in cfg["a"]:
try:
cfg.get("a", key)
except configparser.InterpolationError as e:
print(key, type(e).__name__) # → bad InterpolationMissingOptionError / rate InterpolationSyntaxError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности