Analysieren Sie eine YAML-Datei in Python
Dieses Tutorial zeigt verschiedene Möglichkeiten zum Parsen einer YAML-Datei in Python.
YAML ist ein Datenserialisierungsstandard, der als Dateityp zum Speichern von Konfigurations- oder Eigenschaftendateien innerhalb eines Projekts verwendet wird. YAML ersetzt häufig typische XML- oder JSON-Konfigurationsdateien, da Dateien einfacher zu serialisieren sind als diese beiden Dateitypen.
Verwenden Sie das Paket PyYAML
, um YAML in Python zu analysieren
pyyaml
ist ein Python-Paket, das Dienstprogramme zum Parsen und Bearbeiten von YAML-Dateien in Python bereitstellt.
Der erste Schritt besteht darin, pyyaml
mit pip
zu installieren, da es für Python nicht ohne weiteres verfügbar ist.
pip install pyyaml
Verwenden Sie für Python 3.x-Benutzer pip3
anstelle von pip
.
pip3 install pyyaml
Nachdem die Installation abgeschlossen ist, analysieren Sie eine Beispiel-YAML-Datei. Eine YAML-Datei enthält am Anfang der Datei immer drei Striche ---
, um den Start eines neuen YAML-Dokuments anzuzeigen.
Beachten Sie, dass beim Einrücken von YAML-Dateien ausschließlich Leerzeichen verwendet werden sollten, da diese Dateien Tabulatorbereiche nicht als Einrückungen erkennen.
YAML-Dateien können die Erweiterung .yaml
oder .yml
haben.
sample.yaml
---
name: "John"
age: 23
isMale: true
hobbies:
- swimming
- fishing
- diving
Um die angegebene YAML-Datei in Python zu lesen, importieren Sie zuerst das Modul yaml
. Öffnen Sie anschließend die yaml-Datei mit der Funktion open()
. Das Modul yaml
verfügt über eine vordefinierte Funktion load()
, die eine Datei als Argument akzeptiert, eine YAML-Datei in Python lädt und in einen Python-Objektdatentyp konvertiert.
import yaml
with open("sample.yaml", "r") as f:
print(yaml.load(f))
Wenn Sie die Ausgabe von yaml.load()
drucken, wird der Inhalt der YAML-Datei in einem Python-Objektformat angezeigt.
Ausgabe:
{'name': 'John', 'age': 23, 'isMale': True, 'hobbies': ['swimming', 'fishing', 'diving']}
Um sicherzustellen, dass die YAML-Datei vorhanden und nicht beschädigt und sicher ist, können wir einen try
-Block hinzufügen und die Ausnahme mithilfe des integrierten Fehlerobjekts im yaml
-Modul YAMLError
abfangen. Eine weitere Ebene, um die Verwendung des Codes sicherer zu machen, besteht darin, die Funktion load()
durch safe_load()
zu ersetzen, die die YAML-Datei vor dem Laden überprüft.
import yaml
with open("sample.yaml", "r") as stream:
try:
print(yaml.safe_load(stream))
except yaml.YAMLError as exc:
print(exc)
Diese Lösung hat dieselbe Ausgabe wie die vorherige Lösung, obwohl dies ein viel sicherer Ansatz zum Parsen einer YAML-Datei in Python ist.
Zusammenfassend lässt sich sagen, dass das Parsen einer YAML-Datei in Python mithilfe des Moduls yaml
problemlos möglich ist. Stellen Sie sicher, dass Sie pip install pyyaml
ausführen, bevor Sie das Modul verwenden, da es nicht ohne weiteres eingebaut ist.
Es wird immer empfohlen, Dateimanipulationsfunktionen mit try...except
-Blöcken zu kapseln, um sicherzustellen, dass die Dateimanipulation reibungslos verläuft und sicher ausgeführt werden kann.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedIn