Yaml safe_load

Yaml safe_load
YAML ist eine Serialisierungssprache, die von Menschen gelesen werden kann und häufig verwendet wird, um die Daten und die Konfiguration von Dateien zu speichern. Das Parsen ist der Prozess der weiteren Untersuchung der logischen Struktur nach dem Lesen der Daten aus der YAML -Datei. Wenn eine YAML -Datei in Python analysiert wird, wird ihr Inhalt als Wörterbuch in Python analysiert. Der ".yml ”oder“.yaml ”sind die beiden möglichen Dateierweiterungen für die YAML -Dateien.

Warum die Yaml verwenden.Safe_load -Funktion?

Es gibt zahlreiche Fälle der Pyyaml ​​-Anwendung, in denen die Load () anstelle von safe_load () verwendet wird. Wir haben die Informationen über die Funktion von load () bisher absichtlich zurückgehalten. Wir wollten, dass sie die sicherste Technik zum Parsen des YAML mit Python verwenden. Wenn Sie sich jedoch fragen, wie diese beiden voneinander variieren, lautet die schnelle Version wie folgt:

Wenn Sie mit Gurke vertraut sind, wissen Sie, dass Load () auch eine sehr starke Funktion ist. Beide Techniken sind äußerst unsicher, da ein Angreifer den willkürlichen Code ausführen lässt. Sie können das Python -Skript ausführen, einschließlich des Aufrufens des Betriebssystems.Systembibliothek, die den Befehl auf Ihrem System ausführen und die vollständigen Python -Objekte mithilfe der Lastfunktion des Pyyaml ​​serialisieren und deserialisieren können. Die Last () -Funktion ist in den jüngsten Versionen von Pyyaml ​​veraltet. Die Verwendung in unsicherer Weise führt zu einer großen Fettwarnung. Da der Safe_load () nur einen Teil der Lastfunktion enthält, sollte sie verwendet werden, wenn Sie die gewöhnlichen YAML -Dateien verarbeiten.

Wie man die Yaml benutzt.Safe_load -Funktion in Ubuntu

Yaml in Ubuntu 20 zu verwenden.04 müssen wir es zuerst installieren. YAML -Daten können von einer Vielzahl von Python -Bibliotheken analysiert werden. Der beliebteste und umfassendste Rahmen für das Parsen des Yaml ist Pyyaml. Sie müssen das PIP verwenden, um die Pyyaml ​​zu installieren, da es sich nicht um eine Komponente der Standard -Python -Bibliothek handelt. Installieren Sie den Pyyaml, indem Sie den folgenden Befehl ausführen:

Beispiel Nr. 1: Verwenden der Funktion Safe_load zum Lesen und Analysieren einer YAML -Datei

Nach der Installation des Python und der erforderlichen Bibliotheken erstellen wir zwei Dateien (die .PY -Datei und .YML -Datei), um zu demonstrieren, wie wir eine YAML -Datei in Python analysieren können. Lassen Sie uns eine "erstellen".Py ”-Datei und nennen sie als„ Hallo.PY ”und die YAML -Datei als„ Konfiguration.yaml ”.

Wie im vorherigen Bild zu sehen ist, haben wir eine YAML. Importieren Sie nun das Modul wie im Folgenden gezeigt, um die Pyyaml ​​in Ihren Skripten zu verwenden. Denken Sie daran, dass Sie nur das „Yaml“ und nicht das „Pyyaml“ importieren:

Um dies auszuführen, greifen wir auf den Ordner zu, in dem sich unsere Dateien befinden. Nach dem Erreichen des Ordners schreiben wir den Python3 zusammen mit dem Namen der Datei mit der Erweiterung.

Diese Konfigurationsdatei kann geladen, analysiert und in einer Weise verwendet werden, die sehr identisch mit dem Laden des JSON mit dem Python JSON -Paket ist. Zuerst öffnen wir die Datei. Der Yaml.Safe_load () Funktion wird dann verwendet, um sie zu analysieren. Bitte beachten Sie, dass wir das Ergebnis leicht geändert haben, um seine Lesbarkeit für Sie zu verbessern.

Beispiel Nr. 2: Lesen Sie die .YML -Dateidaten aus einer YAML -Datei in Python

Um diese Datei in diesem Beispiel zu analysieren, erstellen wir zunächst eine YAML/YML -Datei mit dem Namen „Studenten.YML “mit den folgenden Informationen:

Nach dem Erstellen der “.YML -Datei schreiben wir das folgende Python -Skript, um die „Schüler“ zu lesen.YML ”-Datei sortierte Inhalte abhängig von den Tasten. Das Skript verwendete die Funktion Safe_load (), um den gesamten Inhalt des Schülers zu lesen.YML -Datei. Die Ausgabe dieser Methode ist eine Liste von Wörterbüchern in Python, die den Inhalt der Datei darstellt. Die Liste wird dann unter Verwendung der DUPP () -Methode, die inzwischen gedruckt wurde, in einen YAML -Stream umgewandelt.

Um dieses Skript auszuführen, schreiben wir den Python3 zusammen mit dem Namen der Datei mit der Erweiterung.

Die nach dem Ausführen des oben ausgeführte Skripts gezeigte Ausgabe ist wie folgt. Jedes Wörterbuch in der Python -Liste der Wörterbücher, die nach dem Umwandlung des Inhalts der „Schüler.Die YML -Datei in die YAML -Mitglieder werden konvertiert. Die Standardeinstellung für den Parameter Sortierschlüssel der DUPP () -Methode ist wahr. Angesichts der Tasten zeigt der Ausgang den sortierten YAML -Inhalt an.1

Beispiel 3: Lesen Sie die Werte und Schlüssel aus dem .YML -Datei

In diesem Beispiel verwenden wir dieselben früheren Dateien (Hallo.PY und Studenten.YML). Die Funktion item () wird verwendet, um die Schlüssel und deren zugehörigen Wert zu lesen, nachdem der Inhalt der Datei in die Lesevariable geladen wurde. Die Schlüsselwertpaare wurden unter Verwendung einer verschachtelten „für“ -Schloop gedruckt, die über den gesamten Inhalt der Datei iteriert wurde.

Dieses Skript generiert die Ergebnisse wie folgt:

Nach dem Ausführen des oben genannten Skripts wird die aufgeführte Ausgabe angezeigt. Das Skript verwendet nicht die Funktion von Dump (), daher wurde der Inhalt der Datei nicht sortiert.

Beispiel Nr. 4: Lesen Sie die .YML -Dateidaten in die Liste der Wörterbücher

Der Inhalt der YAML -Datei wird mit der Methode Safe_load () in eine Liste von Wörterbüchern in Python umgewandelt. Die Daten können auch mit dieser Technik aus den unzuverlässigen Quellen geladen werden. So laden Sie den Inhalt der YAML -Datei mithilfe der Methode Safe_load () und drucken Sie den geladenen Inhalt, erstellen Sie eine Python -Datei mit dem folgenden Skript:

Das vorherige Skript konvertiert die Daten der “.YML -Datei in eine Liste von Wörterbüchern.

Wie Sie sehen können, nach dem Ausführen des oben genannten Skripts die Daten der “.Die YML -Datei (die die Daten der Schüler enthält) wird in eine Liste von Wörterbüchern konvertiert. Das Ergebnis enthält eine Liste aller verfügbaren Wörterbücher.

Abschluss

In diesem Artikel wurde die verschiedenen Methoden zum Lesen des YAML -Inhalts aus den Dateien und Python -Objekten anhand der verschiedenen Beispiele gezeigt. In diesem Beitrag haben wir die YAML-Dateien und die verschiedenen Methoden zum Parsen mithilfe der Safe_load () besprochen, die eine eingebaute Funktion von YAML ist. In den Beispielen dieses Tutorials versuchten wir Ihnen beizubringen, wie Sie ein lesen und analysieren können.YML ”-Datei, Lesen der Werte und Schlüssel aus einem“.YML -Datei und konvertieren die “.YML ”Dateidaten in eine Liste von Wörterbüchern mit der Funktion Safe_load () in eine Liste von Wörterbüchern.