Модуль Tomllib Python

Модуль tomllib разбирает TOML-файлы конфигурации в Python.

Модуль был добавлен в Python 3.11. Он только для чтения, поэтому используйте его для разбора TOML, а не для записи.

import tomllib

TOML часто используется для конфигурационных файлов вроде pyproject.toml. Он выглядит как простые пары ключ-значение и секции.

Разбор TOML из строки

loads разбирает TOML-документ, сохраненный в строке.

import tomllib

config = tomllib.loads("""
name = "python-cheatsheet"
version = "1.0"
[database]
port = 5432
""")

print(config['name'])
print(config['database']['port'])
python-cheatsheet
5432

Значения TOML преобразуются в значения Python.

import tomllib

config = tomllib.loads("""
debug = true
ports = [8000, 8001]
""")

print(config['debug'])
print(config['ports'])
True
[8000, 8001]

Чтение TOML-файла

load ожидает бинарный файловый объект.

import tomllib
from io import BytesIO

data = b'name = "demo"'
config = tomllib.load(BytesIO(data))
print(config)
{'name': 'demo'}

Если открываете реальный файл, используйте бинарный режим.

import tomllib

with open('pyproject.toml', 'rb') as file:
    config = tomllib.load(file)

Ссылки по теме