Beispiel aus Verwendung von YAML mit Python
Die ursprüngliche YAML-Datei enthält diese
%Vor% Nachdem der Inhalt mit yaml.load()
aus der Datei geladen und in eine neue YAML-Datei geschrieben wurde, bekomme ich stattdessen:
Was ist der richtige Weg, um eine YAML-Datei direkt aus Python zu erstellen? Ich möchte selbst keine Saite schreiben. Ich möchte das Wörterbuch und die Liste erstellen.
Teilweise ...
%Vor% OK. Ich habe einfach die Dokumentation überprüft. Das brauchen wir am Ende von yaml.dump(data, optional_args)
Die Lösung ist das
%Vor% Dabei ist dataMap die Quelle yaml.load()
und f ist die Datei, in die geschrieben werden soll.
Angenommen, Sie verwenden PyYAML wie Sie wahrscheinlich sind, ist die Ausgabe, die Sie anzeigen, nicht copy-paste, was ein yaml.dump()
erzeugt, da es einen Kommentar enthält, und PyYAML schreibt diese nicht.
Wenn Sie diesen Kommentar beibehalten möchten, sowie die Reihenfolge der Schlüssel in der Datei (nett, wenn Sie die Datei in einem Versionskontrollsystem speichern), verwenden Sie ¹:
%Vor%was Sie genau zur Eingabe bringt:
%Vor%¹ Dies wurde mit ruamel.yaml einer erweiterten Version von PyYAML gemacht, von der ich der bin Autor.