Python 3.11+tomllibфункция
tomllib.loads()
чтение TOML
Разбирает TOML из строки и возвращает словарь; для файлов на диске есть tomllib.load().
Синтаксис
tomllib.loads(s, /, *, parse_float=float) -> dict
Принимает str, а не bytes — данные из сети сначала декодируйте. Параметр parse_float=decimal.Decimal сохраняет дробные числа точно, без ошибок float. Повторный ключ или переопределение таблицы — ошибка TOMLDecodeError, а не тихая перезапись, как у json.loads.
Примеры
import tomllib
from decimal import Decimal
doc = 'price = 0.1\ntags = ["x"]'
print(tomllib.loads(doc)) # → {'price': 0.1, 'tags': ['x']}
print(tomllib.loads(doc, parse_float=Decimal)['price']) # → 0.1
print(type(tomllib.loads(doc, parse_float=Decimal)['price']).__name__) # → Decimal
import tomllib
try:
tomllib.loads('a = 1\na = 2')
except tomllib.TOMLDecodeError as e:
print(type(e).__name__) # → TOMLDecodeError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности