Python 3.11+tomllibфункция
tomllib.load()
чтение TOML
Читает TOML из файла, открытого в двоичном режиме, и возвращает словарь — например, pyproject.toml.
Синтаксис
with open(path, 'rb') as f: data = tomllib.load(f, *, parse_float=float)
Файл обязательно открывать как 'rb': текстовый режим даёт TypeError, зато кодировка всегда UTF-8 и ошибиться с ней нельзя. Модуль только читает — записать TOML им нельзя, для этого нужна сторонняя библиотека (tomli-w). Даты TOML превращаются в объекты datetime, а не в строки.
Примеры
import tomllib
with open('config.toml', 'w', encoding='utf-8') as f:
f.write('[server]\nport = 8080\nhosts = ["a", "b"]\n')
with open('config.toml', 'rb') as f:
data = tomllib.load(f)
print(data) # → {'server': {'port': 8080, 'hosts': ['a', 'b']}}
import tomllib
open('c.toml', 'w').close()
try:
with open('c.toml', encoding='utf-8') as f:
tomllib.load(f)
except TypeError as e:
print(type(e).__name__) # → TypeError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности