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
dictzurü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 keinedictoderlistzurückgeben, andernfalls wird einValueErrorausgelöst.Bei einem ungültigen TOML-Dokument wird ein
TOMLDecodeErrorausgelöst.
- tomllib.loads(s, /, *, parse_float=float)¶
Lädt TOML aus einem
str-Objekt. Gibt eindictzurück. Konvertiert TOML-Typen in Python mithilfe dieser Konvertierungstabelle. Das Argument parse_float hat die gleiche Bedeutung wie inload().Bei einem ungültigen TOML-Dokument wird ein
TOMLDecodeErrorausgelöst.
Die folgenden Ausnahmen sind verfügbar
- exception tomllib.TOMLDecodeError(msg, doc, pos)¶
Unterklasse von
ValueErrormit 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,linenoundcolnohinzugefü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 ( |
local date-time |
datetime.datetime ( |
local date |
datetime.date |
local time |
datetime.time |
array |
Liste |
table |
dict |
inline table |
dict |
array of tables |
list of dicts |