tomllib
— Разбор файлов TOML¶
Added in version 3.11.
Источник: Lib/tomllib
Этот модуль предоставляет интерфейс для разбора TOML (Tom’s Obvious Minimal Language, https://toml.io). Этот модуль не поддерживает запись TOML.
См.также
Tomli-W package - это TOML-писатель, который может использоваться вместе с этим модулем, предоставляя API для записи, знакомый пользователям модулей стандартной библиотеки marshal
и pickle
.
См.также
TOML Kit package - это сохраняющая стиль библиотека TOML с возможностью чтения и записи. Это рекомендуемая замена данного модуля для редактирования уже существующих файлов TOML.
Этот модуль определяет следующие функции:
- tomllib.load(fp, /, *, parse_float=float)¶
Чтение файла TOML. Первым аргументом должен быть читаемый и двоичный объект файла. Возвращает
dict
. Преобразование типов TOML в Python с помощью этого conversion table.parse_float будет вызван со строкой каждого TOML float, который нужно декодировать. По умолчанию это эквивалентно
float(num_str)
. Это может быть использовано для использования другого типа данных или парсера для TOML float (например,decimal.Decimal
). Вызываемый элемент не должен возвращатьdict
илиlist
, иначе будет вызванValueError
.В случае недопустимого документа TOML будет выдано сообщение
TOMLDecodeError
.
- tomllib.loads(s, /, *, parse_float=float)¶
Загрузите TOML из объекта
str
. Возвращает объектdict
. Преобразуйте типы TOML в Python с помощью этого conversion table. Аргумент 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 |
диктант |
строка |
str |
целое число |
int |
float |
float (настраивается с помощью parse_float) |
булево |
bool |
смещение дата-время |
datetime.datetime (атрибут``tzinfo`` установлен на экземпляр |
локальная дата-время |
datetime.datetime (атрибут``tzinfo`` установлен на |
местная дата |
datetime.date |
местное время |
datetime.time |
массив |
список |
таблица |
диктант |
встроенная таблица |
диктант |
массив таблиц |
список диктов |