Spec-Zone.ru › Python 3.11

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

Spec-Zone.ru

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