Python 3.2+configparserпонятие
configparser.ExtendedInterpolation
интерполяция
Интерполяция в стиле ${секция:ключ}: подставляет значения из любой секции, а знак % оставляет обычным символом.
Синтаксис
configparser.ConfigParser(interpolation=configparser.ExtendedInterpolation())
Включается только явно и только экземпляром: interpolation=ExtendedInterpolation(). Без части «секция:» ищется ключ своей секции и [DEFAULT]. Экранировать здесь надо доллар ($$), зато проценты и %(x)s остаются как есть — удобно, если в значениях много процентов. Ошибки ссылок, как и у базовой, всплывают при get().
Примеры
import configparser
cfg = configparser.ConfigParser(interpolation=configparser.ExtendedInterpolation())
cfg.read_string("[common]\nroot = /srv\n[app]\nlogs = ${common:root}/logs\nrate = 50%\nprice = $$5\n")
print(cfg.get("app", "logs")) # → /srv/logs
print(cfg.get("app", "rate"), cfg.get("app", "price")) # → 50% $5
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности