Kurz gesagt
- TOML ist ein textbasiertes Konfigurationsformat, das Schlüssel und Werte eindeutig auf eine Hashtabelle abbildet, wobei Groß- und Kleinschreibung unterschieden werden und gültiges UTF-8 vorgeschrieben ist.
- Öffnen Sie die Datei in einem Texteditor. Verwenden Sie unter Windows den Befehl Öffnen, auf dem Mac den reinen Textmodus und auf dem Smartphone eine App für UTF-8-Textdateien. Speichern Sie weiterhin als UTF-8. Die Textanzeige prüft keine TOML-Syntax. Python liest TOML mit tomllib.load() oder tomllib.loads(); ungültige Dokumente führen zu TOMLDecodeError.
- Laut IANA enthält TOML keine ausführbaren Inhalte. Bösartige Eingaben können beim Parsen dennoch viel CPU und Arbeitsspeicher beanspruchen. Begrenzen Sie die Eingabegröße. Erfolgreiches Parsen belegt nicht, dass die enthaltenen Angaben vertrauenswürdig sind.
TOML-Dateien öffnen, bearbeiten und konvertieren
TOML steht für Tom's Obvious, Minimal Language. Es verwendet key = value und unterstützt Zeichenketten, Ganzzahlen, Gleitkommazahlen, boolesche Werte, Datums- und Zeitwerte, Arrays, Tabellen und Arrays von Tabellen. Kommentare beginnen mit #. Der registrierte Medientyp lautet application/toml, die Endung .toml; feste magische Bytes gibt es nicht.
tomllib liest TOML in Python-Dictionaries ein, kann TOML aber nicht schreiben. Für Änderungen an bestehenden Dateien mit Erhalt des Stils empfiehlt die Python-Dokumentation TOML Kit. Ein Umweg über ein Dictionary garantiert keinen Erhalt von Kommentaren und Formatierung. Gleitkommawerte können gerundet werden; über parse_float lässt sich decimal.Decimal wählen.
So bekommst du sie auf
Öffnen Sie die Datei in einem Texteditor. Verwenden Sie unter Windows den Befehl Öffnen, auf dem Mac den reinen Textmodus und auf dem Smartphone eine App für UTF-8-Textdateien. Speichern Sie weiterhin als UTF-8. Die Textanzeige prüft keine TOML-Syntax. Python liest TOML mit tomllib.load() oder tomllib.loads(); ungültige Dokumente führen zu TOMLDecodeError.
Öffnen Sie die Datei in einem Texteditor. Verwenden Sie unter Windows den Befehl Öffnen, auf dem Mac den reinen Textmodus und auf dem Smartphone eine App für UTF-8-Textdateien. Speichern Sie weiterhin als UTF-8. Die Textanzeige prüft keine TOML-Syntax. Python liest TOML mit tomllib.load() oder tomllib.loads(); ungültige Dokumente führen zu TOMLDecodeError.
tomllib liest TOML in Python-Dictionaries ein, kann TOML aber nicht schreiben. Für Änderungen an bestehenden Dateien mit Erhalt des Stils empfiehlt die Python-Dokumentation TOML Kit. Ein Umweg über ein Dictionary garantiert keinen Erhalt von Kommentaren und Formatierung. Gleitkommawerte können gerundet werden; über parse_float lässt sich decimal.Decimal wählen.
Dateisicherheit
Laut IANA enthält TOML keine ausführbaren Inhalte. Bösartige Eingaben können beim Parsen dennoch viel CPU und Arbeitsspeicher beanspruchen. Begrenzen Sie die Eingabegröße. Erfolgreiches Parsen belegt nicht, dass die enthaltenen Angaben vertrauenswürdig sind.
Unbekannter Absender, ein Name mit zwei Endungen oder ein Inhalt, der nicht zur Endung passt — erst prüfen, dann öffnen.
Umwandeln
tomllib liest TOML in Python-Dictionaries ein, kann TOML aber nicht schreiben. Für Änderungen an bestehenden Dateien mit Erhalt des Stils empfiehlt die Python-Dokumentation TOML Kit. Ein Umweg über ein Dictionary garantiert keinen Erhalt von Kommentaren und Formatierung. Gleitkommawerte können gerundet werden; über parse_float lässt sich decimal.Decimal wählen.
Wandle eine Kopie um, nie das Original, und vergleich danach Qualität, Metadaten und Layout mit der Ausgangsdatei.
Häufige Fragen
Was ist eine TOML-Datei und wofür wird sie verwendet?
Sie speichert Konfiguration als Text mit Zuweisungen nach dem Muster key = value, die eindeutig auf eine Hashtabelle abgebildet werden. Groß- und Kleinschreibung sind relevant; gültiges UTF-8 ist erforderlich.
Wie kann ich eine TOML-Datei unter Windows öffnen?
Starten Sie einen Texteditor und wählen Sie die .toml-Datei über Öffnen aus. Blendet der Dateifilter sie aus, wählen Sie alle Dateien. Speichern Sie Änderungen mit UTF-8-Kodierung.
Wie kann ich eine TOML-Datei auf dem Mac bearbeiten?
Öffnen Sie die Datei in einem Texteditor im reinen Textmodus. Behalten Sie die Syntax key = value bei und speichern Sie als UTF-8-Text mit der Endung .toml.
Wie kann ich eine TOML-Datei auf dem Smartphone öffnen?
Wählen Sie die Datei in einer Texteditor-App aus, die UTF-8-Dateien öffnen kann. Dateizugriff und Bearbeitungsfunktionen hängen von der App ab. Die Textanzeige allein bestätigt keine gültige TOML-Syntax.
Warum erscheint TOMLDecodeError beim Lesen einer TOML-Datei?
Python meldet damit ein ungültiges TOML-Dokument. Prüfen Sie Zuweisungen, Anführungszeichen, Tabellendeklarationen und UTF-8. Beachten Sie die Version: Python 3.11 führte tomllib für TOML 1.0.0 ein; Python 3.15 ergänzt TOML 1.1.0.
Sollte ich einen Texteditor oder einen Python-Parser für TOML verwenden?
Ein Texteditor eignet sich zum Lesen und Ändern des Textes. tomllib liest Werte in ein Dictionary ein und erkennt ungültiges TOML. Das Modul schreibt keine Dateien und erhält keine bearbeitbare Textgestaltung.
Wie lässt sich TOML ohne Verlust von Kommentaren und Formatierung konvertieren?
Das Einlesen in ein Dictionary garantiert keinen Erhalt des ursprünglichen Stils. Die Python-Dokumentation empfiehlt TOML Kit für stilbewahrendes Bearbeiten mit Lese- und Schreibfunktionen. Kontrollieren Sie Kommentare und Formatierung im Ergebnis.
Welche Risiken bestehen beim Parsen einer nicht vertrauenswürdigen TOML-Datei?
TOML enthält laut IANA keine ausführbaren Inhalte. Bösartige Eingaben können dennoch viel CPU und Arbeitsspeicher verbrauchen. Begrenzen Sie die Dateigröße vor dem Parsen; eine allgemeingültige sichere Größe ist hier nicht angegeben.
Kann sich die Genauigkeit von Gleitkommazahlen in TOML beim Parsen ändern?
Ja. TOML empfiehlt mindestens IEEE 754 binary64. Werte mit mehr als 15 signifikanten Dezimalstellen können gerundet werden. In tomllib können Sie mit parse_float=decimal.Decimal einen Dezimaltyp wählen.
Wie kann ich TOML-Dateien mit Python lesen?
Verwenden Sie tomllib.load() mit einer binär geöffneten Datei oder tomllib.loads() mit einer Zeichenkette. Beide liefern ein Dictionary. Das Modul gehört seit Python 3.11 zur Standardbibliothek und unterstützt nur das Lesen.
Beweist erfolgreiches Parsen einer TOML-Datei, dass die Konfiguration vertrauenswürdig ist?
Nein. Es zeigt nur, dass der Parser das Dokument akzeptiert. Herkunft, Richtigkeit der Werte und Eignung für den vorgesehenen Einsatz werden dadurch nicht bestätigt.
Verwandte Formate
Quellen
TOML v1.1.0 官方规范 · TOML 官方项目
application/toml 媒体类型登记 · IANA
tomllib — Parse TOML files · Python 官方文档
Tom's Obvious, Minimal Language · 美国国会图书馆