Spec-Zone.ru › Python 3.12

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–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/library/tomllib.html

Spec-Zone.ru

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