tomllib — TOML-Dateien parsen

Hinzugefügt in Version 3.11.

Quellcode: Lib/tomllib


Dieses Modul stellt eine Schnittstelle zum Parsen von TOML 1.0.0 (Tom’s Obvious Minimal Language, https://toml.io) bereit. Dieses Modul unterstützt nicht das Schreiben von TOML.

Siehe auch

Das Tomli-W Paket ist ein TOML-Schreiber, der in Verbindung mit diesem Modul verwendet werden kann und eine Schreib-API bietet, die für Benutzer der Standardbibliotheksmodule marshal und pickle vertraut ist.

Siehe auch

Das TOML Kit Paket ist eine stilkonservierende TOML-Bibliothek mit Lese- und Schreibfunktionen. Es ist ein empfohlener Ersatz für dieses Modul zum Bearbeiten bereits vorhandener TOML-Dateien.

Dieses Modul definiert die folgenden Funktionen

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

Liest eine TOML-Datei. Das erste Argument sollte ein lesbares Binärdatei-Objekt sein. Gibt ein dict zurück. Konvertiert TOML-Typen in Python mithilfe dieser Konvertierungstabelle.

parse_float wird mit dem String jedes zu dekodierenden TOML-Floats aufgerufen. Standardmäßig ist dies äquivalent zu float(num_str). Dies kann verwendet werden, um einen anderen Datentyp oder Parser für TOML-Floats zu verwenden (z.B. decimal.Decimal). Die aufrufbare Funktion darf keine dict oder list zurückgeben, andernfalls wird ein ValueError ausgelöst.

Bei einem ungültigen TOML-Dokument wird ein TOMLDecodeError ausgelöst.

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

Lädt TOML aus einem str-Objekt. Gibt ein dict zurück. Konvertiert TOML-Typen in Python mithilfe dieser Konvertierungstabelle. Das Argument parse_float hat die gleiche Bedeutung wie in load().

Bei einem ungültigen TOML-Dokument wird ein TOMLDecodeError ausgelöst.

Die folgenden Ausnahmen sind verfügbar

exception tomllib.TOMLDecodeError(msg, doc, pos)

Unterklasse von ValueError mit den folgenden zusätzlichen Attributen

msg

Die ungeformatierte Fehlermeldung.

doc

Das zu parsende TOML-Dokument.

pos

Der Index von doc, an dem das Parsen fehlgeschlagen ist.

lineno

Die Zeile, die pos entspricht.

colno

Die Spalte, die pos entspricht.

Geändert in Version 3.14: Die Parameter msg, doc und pos hinzugefügt. Die Attribute msg, doc, pos, lineno und colno hinzugefügt.

Veraltet seit Version 3.14: Das Übergeben von freien positionsabhängigen Argumenten ist veraltet.

Beispiele

Parsen einer TOML-Datei

import tomllib

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

Parsen eines TOML-Strings

import tomllib

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

data = tomllib.loads(toml_str)

Konvertierungstabelle

TOML

Python

TOML-Dokument

dict

string

str

Ganzzahl

int

float

float (konfigurierbar mit parse_float)

boolean

bool

offset date-time

datetime.datetime (tzinfo Attribut gesetzt auf eine Instanz von datetime.timezone)

local date-time

datetime.datetime (tzinfo Attribut gesetzt auf None)

local date

datetime.date

local time

datetime.time

array

Liste

table

dict

inline table

dict

array of tables

list of dicts