Spec-Zone.ru › Python 3.12

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

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

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

Этот модуль предоставляет интерфейс для парсинга файлов TOML (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, используя эту таблицу преобразований.

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

dict

строка

str

целое число

int

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

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

булево

bool

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

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

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

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

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

datetime.date

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

datetime.time

массив

список

таблица

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