# `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