Содержание страницы
tomllib – Разбор TOML-файлов¶tomllib – Parse TOML files
Добавлено в версии 3.12.
Исходный код: Lib/tomllib
Этот модуль предоставляет интерфейс для разбора TOML 1.0.0 (Tom’s Obvious Minimal Language, https://toml.io). Запись TOML не поддерживается.
Предупреждение
Соблюдайте осторожность при разборе данных из ненадёжных источников. Вредоносная строка TOML может заставить декодер потреблять значительные ресурсы ЦП и памяти. Рекомендуется ограничивать размер разбираемых данных.
См. также
Пакет Tomli-W
является средством записи TOML, которое можно использовать вместе с этим модулем;
оно предоставляет API записи, знакомый пользователям модулей marshal и pickle стандартной библиотеки.
См. также
Пакет TOML Kit – это библиотека TOML, сохраняющая стиль, с возможностью как чтения, так и записи. Он является рекомендуемой заменой этого модуля для редактирования уже существующих TOML-файлов.
Этот модуль определяет следующие функции:
- tomllib.load(fp, /, *, parse_float=float)¶
Читает TOML-файл. Первым аргументом должен быть читаемый двоичный файловый объект. Возвращает
dict. Преобразует типы TOML в Python согласно этой таблице соответствия.Функция parse_float будет вызвана для строки каждого разбираемого значения TOML с плавающей запятой. По умолчанию она эквивалентна
float(num_str). Это позволяет использовать другой тип данных или анализатор для чисел с плавающей запятой TOML (например,decimal.Decimal). Вызываемый объект не должен возвращатьdictилиlist, иначе будет возбуждено исключениеValueError.Исключение
TOMLDecodeErrorбудет возбуждено при недопустимом документе TOML.
- tomllib.loads(s, /, *, parse_float=float)¶
Загружает TOML из объекта
str. Возвращаетdict. Преобразует типы TOML в Python согласно этой таблице соответствия. Аргумент parse_float имеет то же значение, что и вload().Исключение
TOMLDecodeErrorбудет возбуждено при недопустимом документе TOML.
Доступны следующие исключения:
- exception tomllib.TOMLDecodeError¶
Подкласс
ValueError.
Примеры¶Examples
Разбор TOML-файла:
import tomllib
with open("pyproject.toml", "rb") as f:
data = tomllib.load(f)
Разбор строки TOML:
import tomllib
toml_str = """
python-version = "3.11.0"
python-implementation = "CPython"
"""
data = tomllib.loads(toml_str)
Таблица соответствия¶Conversion Table
TOML |
Python |
|---|---|
Документ TOML |
dict |
строка |
str |
целое число |
int |
float |
float (настраивается с помощью parse_float) |
булевый |
bool |
дата-время со смещением |
datetime.datetime (атрибут |
локальная дата-время |
datetime.datetime (атрибут |
локальная дата |
datetime.date |
локальное время |
datetime.time |
массив |
list |
таблица |
dict |
встроенная таблица |
dict |
массив таблиц |
список словарей |