YAML ist die Abkürzung für Yet Another Markup Language oder YAML ist keine Auszeichnungssprache, das Datenformat, das zum Datenaustausch verwendet wird. YAML kann nur Daten und keine Befehle speichern. Es ähnelt den Datenformaten XML und JSON. In diesem Artikel werden wir uns anhand des Beispiels eingehend mit dem Konzept des Parsens von YAML-Dateien in Python befassen.
Parsen von YAML-Dateien in Python
PyYAML Das Modul in der Python-Programmierung wird als Parser für Python betrachtet. Mit dieser Bibliothek können wir verschiedene Vorgänge an den YAML-Dateien durchführen, wie zum Beispiel das Lesen oder Schreiben der YAML-Dateien. Mit diesem PyYAML-Modul in Python können auch Serialisierungs- und persistente YAML-Daten durchgeführt werden.
Für die Nutzung des PyYAML-Moduls müssen wir es installieren Python indem Sie den folgenden Befehl ausführen:
pip install pyyaml>
YAML-Dateien werden mit zwei verschiedenen Erweiterungen gespeichert, nämlich: .yaml Und .yml . Da wir die YAML-Datei analysieren müssen, haben wir zwei YAML-Dateien erstellt, die aus Daten in bestehen Schlüsselwert Paar. Als Beispiel für unseren Artikel nehmen wir die folgenden YAML-Dateien.
geeksforgeek.yml
UserName: techcodeview.com Password: GFG@123 Phone: 1234567890 Website: techcodeview.com Skills: -Python -SQL -Django -Javascript>
multi_docs.yml
--- UserName: techcodeview.com Password: GFG@123 Phone: 1234567890 Website: techcodeview.com Skills: -Python -SQL -Django -Javascript ... --- UserName: Google Password: google@123 Phone: 1234567890 Website: google.com Skills: -Python -SQL -Django -Javascript ... --- UserName: Yahoo Password: yahoo@123 Phone: 1234567890 Website: yahoo.com Skills: -Python -SQL -Django -Javascript>
Sehen wir uns nun einige Methoden an, mit denen wir eine YAML-Datei in Python analysieren können.
Verwenden der Funktion „load()“.
Die Funktion yaml.load() im YAML-Modul wird verwendet, um die YAML-Daten oder das YAML-Objekt in ein einzulesen Python-Wörterbuch . Es kann YAML-Daten geben, die aus einer großen Anzahl von Schlüssel-Wert-Paaren (Konfigurationsdateien) bestehen. Um diese Dateien zu lesen, kann die Funktion „load()“ hilfreich sein, da sie die Deserialisierung von YAML-Daten in Python durchführt. Der Lader Der Parameter der Funktion „load()“ ist auf gesetzt SafeLoader , das darauf abzielt, die Daten von YAML sicher zu laden. Dies ist hilfreich in Szenarien, in denen die Eingabe aus nicht vertrauenswürdigen Quellen stammt.
Python3
String in String Java ersetzen
import> yaml> with>open>(>'geeksforgeeks.yml'>,>'r'>) as f:> >data>=> yaml.load(f, Loader>=>yaml.SafeLoader)> > # Print the values as a dictionary> print>(data)> |
>
>
Ausgabe:
{'UserName': 'techcodeview.com', 'Password': 'GFG@123', 'Phone': 1234567890, 'Website': 'techcodeview.com> Verwenden der Funktion full_load()
Die Funktion yaml.full_load() wird verwendet, um den Inhalt der YAML-Datei in Form von Schlüssel-Wert-Paaren zu analysieren. Dann mit Python erhalten() Mit dieser Methode können wir spezifische Daten aus der YAML-Datei abrufen.
Python3
import> yaml> with>open>(>'geeksforgeeks.yml'>,>'r'>) as f:> >data>=> yaml.full_load(f)> > # Print the values as a dictionary> output>=> {> >'UserName'>: data.get(>'UserName'>),> >'Password'>: data.get(>'Password'>),> >'phone'>: data.get(>'Phone'>),> >'Skills'>:>' '>.join(data.get(>'Skills'>, []))> }> print>(output)> |
>
>
Ausgabe:
{'UserName': 'techcodeview.com', 'Password': 'GFG@123', 'phone': 1234567890, 'Skills': '- P y t h o n - S Q L - D j a n g o - J a v a s c r i p t'}> Verwenden der Funktion „safe_load()“.
Eine andere Möglichkeit, die YAML-Datei in Python zu laden, ist die Verwendung der Methode „safe_load()“. Es kann anstelle des SafeLoader-Parameters der Methode „load()“ verwendet werden, wenn die Daten von einer nicht vertrauenswürdigen Quelle geladen werden.
Python3
import> yaml> with>open>(>'geeksforgeeks.yml'>) as f:> >dict> => yaml.safe_load(f)> >print>(>dict>)> |
>
>
Ausgabe:
wie man einen String in einen Int umwandelt
{'UserName': 'techcodeview.com', 'Password': 'GFG@123 *', 'phone': 987909890, 'website': 'techcodeview.com 'Skills': '-Python -SQL -Django -Rest Framework -JavaScript'}> Verwenden der Funktion „load_all()“.
Die Methode „load_all()“ wird verwendet, wenn wir ein in einer einzelnen Datei vorhandenes YAML-Dokument laden möchten. Der Lader Der Parameter der Funktion „load()“ ist auf gesetzt SafeLoader , das darauf abzielt, die Daten von YAML sicher zu laden. Dies ist hilfreich in Szenarien, in denen die Eingabe aus nicht vertrauenswürdigen Quellen stammt.
Python3
import> yaml> from> yaml.loader>import> SafeLoader> # open yaml file in read> with>open>(>'multiple_documents.yml'>,>'r'>) as f:> >yaml_data>=> list>(yaml.load_all(f, Loader>=>SafeLoader))> >print>(yaml_data)> |
>
>
Ausgabe:
[{'UserName': 'techcodeview.com', 'Password': 'GFG@123', 'Phone': 1234567890, 'Website': 'techcodeview.com {'UserName': 'Google', 'Password': 'google@123', 'Phone': 1234567890, 'Website': 'google.com', 'Skills': '-Python -SQL -Django -Resst Framework -Javascript'}, {'UserName': 'Yahoo', 'Password': 'yahoo@123', 'Phone': 1234567890, 'Website': 'yahoo.com', 'Skills': '-Python -SQL -Django -Resst Framework -Javascript'}]>