Python 3.2+configparserпонятие
configparser.SectionProxy
доступ к секциям
Объект секции, который возвращает parser['имя']: живое окно в данные парсера с интерфейсом словаря и методами getint/getboolean.
Синтаксис
section = parser['name']; section.get(option, fallback=None); section.getint(option)
Это не копия: запись section['key'] = '1' сразу меняет парсер. Отсутствующая секция через квадратные скобки даёт KeyError, а не NoSectionError, поэтому except configparser.Error его не поймает. len() и перебор учитывают ключи из [DEFAULT]. get(option, fallback) здесь принимает запасное значение вторым аргументом.
Примеры
import configparser
cfg = configparser.ConfigParser()
cfg.read_string("[DEFAULT]\nlevel = info\n[db]\nport = 5432\n")
db = cfg["db"]
db["port"] = "6543"
print(cfg.get("db", "port")) # → 6543 — секция живая, а не копия
print(len(db), db.get("host", "localhost")) # → 2 localhost
try:
cfg["cache"]
except KeyError as e:
print("KeyError", e) # → KeyError 'cache'
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности