Analysieren Sie eine YAML-Datei in Python

Rayven Esplanada 10 Oktober 2023
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.

Rayven Esplanada avatar Rayven Esplanada avatar

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

Verwandter Artikel - Python YAML