все Python 3до 3.12Удалено из стандартной библиотекифункция
configparser.RawConfigParser.readfp()
удалено
Читал настройки INI из открытого файла. Удалён в Python 3.12 — используйте read_file().
Синтаксис
parser.readfp(fp, filename=None) # до 3.12
readfp(fp) принимал открытый файл (или любой итератор строк) и разбирал его. В Python 3.2 появился read_file() с тем же назначением и более понятным именем, а заодно read_string() и read_dict(); readfp() объявили устаревшим и в 3.12 убрали у всех парсеров. Как переписать: cp.readfp(f) → cp.read_file(f); для текста в памяти — cp.read_string(text); по путям к файлам — cp.read(['a.ini', 'b.ini']).
Примеры
# Python 3.12+
import configparser, io
cp = configparser.ConfigParser()
try:
cp.readfp(io.StringIO('[s]\nk = v\n'))
except AttributeError as e:
print(type(e).__name__) # → AttributeError
# Python 3.12+
import configparser, io
cp = configparser.ConfigParser()
cp.read_file(io.StringIO('[s]\nk = v\n'))
print(cp['s']['k']) # → v
cp.read_string('[t]\nn = 3\n')
print(cp.sections()) # → ['s', 't']
import configparser, io
cp = configparser.ConfigParser()
cp.readfp(io.StringIO('[s]\nk = v\n'))
print(cp['s']['k']) # → v
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности