Spec-Zone.ru › Python 3.13

tomllib — разбор файлов TOML

Добавлено в версии 3.11.

Исходный код: Lib/tomllib

Этот модуль предоставляет интерфейс для разбора TOML 1.0.0 (Tom’s Obvious Minimal Language, https://toml.io). Этот модуль не поддерживает запись TOML.

См. также

Пакет Tomli-W предназначен для записи TOML и может использоваться вместе с этим модулем. Он предоставляет API для записи, знакомый пользователям стандартных библиотечных модулей marshal и pickle.

См. также

Пакет TOML Kit — библиотека TOML, сохраняющая стиль и поддерживающая чтение и запись. Она рекомендуется в качестве замены этого модуля для редактирования уже существующих файлов TOML.

Этот модуль определяет следующие функции:

tomllib.load(fp, /, *, parse_float=float)

Прочитать файл TOML. Первый аргумент должен быть доступным для чтения двоичным файловым объектом. Возвращает dict. Преобразование типов TOML в типы Python выполняется согласно этой таблице преобразования.

Для каждого значения TOML с плавающей точкой, которое нужно декодировать, будет вызван параметр parse_float, которому передаётся строка. По умолчанию он эквивалентен float(num_str). Это позволяет использовать для значений TOML с плавающей точкой другой тип данных или анализатор (например, decimal.Decimal). Вызываемый объект не должен возвращать dict или list, иначе будет вызвано исключение ValueError.

При обнаружении недопустимого документа TOML будет вызвано исключение TOMLDecodeError.

tomllib.loads(s, /, *, parse_float=float)

Загрузить TOML из объекта str. Возвращает dict. Преобразование типов TOML в типы Python выполняется согласно этой таблице преобразования. Аргумент parse_float имеет то же значение, что и в load().

При обнаружении недопустимого документа TOML будет вызвано исключение TOMLDecodeError.

Доступны следующие исключения:

exception tomllib.TOMLDecodeError

Подкласс ValueError.

Примеры

Разбор файла 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)

Таблица преобразования

TOML

Python

документ TOML

dict

строка

str

целое число

int

число с плавающей точкой

float (настраивается с помощью parse_float)

логическое значение

bool

дата и время со смещением

datetime.datetime (атрибут tzinfo установлен в экземпляр datetime.timezone)

локальные дата и время

datetime.datetime (атрибут tzinfo установлен в None)

локальная дата

datetime.date

локальное время

datetime.time

массив

list

таблица

dict

встроенная таблица

dict

массив таблиц

список dict

© 2001–2025 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/library/tomllib.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API