все Python 3до 3.12Удалено из стандартной библиотекипонятие
configparser.SafeConfigParser
удалено
Старое имя класса ConfigParser для чтения INI-файлов. Удалено в Python 3.12 — используйте configparser.ConfigParser.
Синтаксис
configparser.SafeConfigParser() # до 3.12
В Python 2 было три парсера: RawConfigParser, ConfigParser с небезопасной подстановкой и SafeConfigParser с исправленной. В Python 3.2 «безопасное» поведение стало обычным ConfigParser, а SafeConfigParser превратился в псевдоним; его объявили устаревшим и в 3.12 убрали. Как переписать: configparser.SafeConfigParser() → configparser.ConfigParser(); остальной код (read(), get(), getint(), подстановка %(name)s) не меняется. Заодно замените readfp() на read_file() — его убрали тем же изменением.
Примеры
# Python 3.12+
import configparser
try:
configparser.SafeConfigParser()
except AttributeError as e:
print(type(e).__name__) # → AttributeError
# Python 3.12+
import configparser
cp = configparser.ConfigParser()
cp.read_string('[db]\nhost = localhost\nurl = %(host)s:5432\n')
print(cp.get('db', 'url')) # → localhost:5432
import configparser
cp = configparser.SafeConfigParser()
cp.read_string('[db]\nport = 5432\n')
print(cp.getint('db', 'port')) # → 5432
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности