2016-09-05 11 views
2

Ich habe dies noch nicht in den Code geschrieben, aber ich möchte YAML von meiner Website-Benutzer analysieren. Das YAML sollte nur Zeichenfolgenschlüssel/Werte und Listen von Zeichenfolgen sein.Akzeptieren YAML-Eingabe von Website-Benutzer

Sie geben YAML in ein Textfeld ein, senden es an den Server, dann analysiert das Python das YAML, legt es in die Datenbank und es wird später abfragbar sein.

Gibt es etwas, was ich tun muss, um das Obige sicher durchführen zu können?

+0

Ist das eine einfache 'key: value' Art von YAML oder ist es verschachtelte Strukturen umfassen? – stuartnox

+0

Sie kann eine verschachtelte Struktur enthalten – user193661

+0

Sie können versuchen, Zeilen mit ':' zu analysieren, und wenn '-' in der nächsten Zeile vorhanden ist, hängen Sie sie an die übergeordnete Struktur an. Verwenden Sie auch 'strip()', um unerwünschte Leerzeichen zu entfernen. – stuartnox

Antwort

2

Die wichtigste Sache zu beobachten ist, die yaml mit analysieren entweder safe_load (ruamel.yaml (unterstützt YAML 1.2), PyYAML (YAML 1.1)) oder round_trip_load (ruamel.yaml, dies ermöglicht es Ihnen, Kommentare in der YAML-Datei zu extrahieren, wenn notwendig).

Der normale load kann verwendet werden, um Programme durch den Python-Interpreter auszuführen, es sei denn, Sie verarbeiten die YAML vor, um alle Tags zu entfernen.


Disclaimer: Ich bin der Autor der ruamel.yaml

Verwandte Themen