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 undict
o unlist
, de lo contrario se lanza unValueError
.Un
TOMLDecodeError
se levantará en un documento TOML inválido.
- tomllib.loads(s, /, *, parse_float=float)¶
Carga TOML de un objeto
str
. Retorna undict
. Convierte los tipos TOML a Python utilizando esta tabla de conversión. El argumento parse_float tiene el mismo significado que enload()
.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
andcolno
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 |
local date-time |
datetime.datetime (atributo |
local date |
datetime.date |
local time |
datetime.time |
array |
list |
tabla |
dict |
inline table |
dict |
array of tables |
list of dicts |