Python Glossary English

все Python 3configparserисключение

configparser.InterpolationSyntaxError

исключения

Исключение: в значении стоит % (или $ у расширенной интерполяции), за которым не следует правильная ссылка.

Синтаксис

except configparser.InterpolationSyntaxError as e: ...

Типичный случай — '50%', URL с %20 или пароль с процентом в INI-файле. Файл читается без ошибок, а падает get(). Лечится удвоением %% в файле, get(..., raw=True) или ConfigParser(interpolation=None). При записи через set() та же строка даёт не это исключение, а ValueError.

Примеры

import configparser
cfg = configparser.ConfigParser()
cfg.read_string("[web]\nurl = /a%20b\n")
try:
    cfg.get("web", "url")
except configparser.InterpolationSyntaxError as e:
    print(e)  # → '%' must be followed by '%' or '(', found: '%20b'
print(cfg.get("web", "url", raw=True))  # → /a%20b
import configparser
cfg = configparser.ConfigParser()
cfg.add_section("web")
try:
    cfg.set("web", "rate", "5%")
except ValueError as e:
    print(type(e).__name__)  # → ValueError

См. также

Частые ошибки

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