tomllib — Parse TOML files

Added in version 3.11.

Código fuente: Lib/tomllib


This module provides an interface for parsing TOML 1.0.0 (Tom’s Obvious Minimal Language, https://toml.io). This module does not support writing TOML.

Ver también

The Tomli-W package is a TOML writer that can be used in conjunction with this module, providing a write API familiar to users of the standard library marshal and pickle modules.

Ver también

The TOML Kit package is a style-preserving TOML library with both read and write capability. It is a recommended replacement for this module for editing already existing TOML files.

Este módulo define las siguientes funciones:

tomllib.load(fp, /, *, parse_float=float)

Lee un archivo TOML. El primer argumento debe ser un objeto de archivo legible y binario. Retorna un dict. Convierte los tipos TOML a Python utilizando esta tabla de conversión.

parse_float se llamará con la cadena de cada TOML flotante que se decodificará. Por defecto, esto es equivalente a float(num_str). Esto se puede utilizar para usar otro tipo de datos o analizador para flotantes TOML (por ejemplo, decimal.Decimal). La llamada no debe devolver un dict o un list, de lo contrario se lanza un ValueError.

Un TOMLDecodeError se levantará en un documento TOML inválido.

tomllib.loads(s, /, *, parse_float=float)

Carga TOML de un objeto str. Retorna un dict. Convierte los tipos TOML a Python utilizando esta tabla de conversión. El argumento parse_float tiene el mismo significado que en load().

Un TOMLDecodeError se levantará en un documento TOML inválido.

Las siguientes excepciones están disponibles:

exception tomllib.TOMLDecodeError

Subclase de ValueError.

Ejemplos

Analiza un TOML file:

import tomllib

with open("pyproject.toml", "rb") as f:
    data = tomllib.load(f)

Analiza un TOML string:

import tomllib

toml_str = """
python-version = "3.11.0"
python-implementation = "CPython"
"""

data = tomllib.loads(toml_str)

Tabla de conversión

TOML

Python

TOML document

dict

cadena

str

integer

int

flotante

flotante (configurable con parse_float)

boolean

bool

offset date-time

datetime.datetime (atributo tzinfo establecido en una instancia de datetime.timezone)

local date-time

datetime.datetime (atributo tzinfo establecido en None)

local date

datetime.date

local time

datetime.time

array

list

tabla

dict

inline table

dict

array of tables

list of dicts