все Python 3configparserисключение
configparser.NoOptionError
исключения
Исключение: в секции нет запрошенного ключа (и в [DEFAULT] его тоже нет). Бросает get() и типизированные getint/getboolean.
Синтаксис
except configparser.NoOptionError as e: e.section, e.option
Чаще всего ключ есть, но с опечаткой или в другой секции. Ключи сравниваются без учёта регистра, так что Port и port — одно и то же. Обычный выход — аргумент fallback: cfg.getint('db', 'port', fallback=5432); у SectionProxy через скобки та же ситуация даёт KeyError.
Примеры
import configparser
cfg = configparser.ConfigParser()
cfg.read_string("[db]\nPort = 5432\n")
try:
cfg.get("db", "host")
except configparser.NoOptionError as e:
print(e) # → No option 'host' in section: 'db'
print(cfg.getint("db", "PORT"), cfg.get("db", "host", fallback="localhost")) # → 5432 localhost
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности