Spec-Zone.ru › Python 3.13

tomllib — Парсинг файлов TOML

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

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

Этот модуль предоставляет интерфейс для парсинга TOML 1.0.0 (Язык Тома, очевидно, минимальный, https://toml.io). Этот модуль не поддерживает запись 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.

При некорректном документе 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-документ

словарь

строка

строка

целое число

целое число

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

число с плавающей точкой (настраивается с помощью parse_float)

булево

булево

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

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

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

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

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

datetime.date

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

datetime.time

массив

список

таблица

словарь

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

словарь

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

список словарей

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

Spec-Zone.ru

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