Python Glossary English

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Сообщить о неточности