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(msg, doc, pos)

Subclass of ValueError with the following additional attributes:

msg

The unformatted error message.

doc

The TOML document being parsed.

pos

The index of doc where parsing failed.

lineno

The line corresponding to pos.

colno

The column corresponding to pos.

Distinto en la versión 3.14: Added the msg, doc and pos parameters. Added the msg, doc, pos, lineno and colno attributes.

Obsoleto desde la versión 3.14: Passing free-form positional arguments is deprecated.

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