Wie kann ich eine YAML-Datei aus Python erstellen?

8

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:

%Vor%

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%     
CppLearner 03.02.2012, 20:48
quelle

3 Antworten

7

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.

    
CppLearner 03.02.2012, 21:20
quelle
1

Ihre erste und zweite Auflistung sind äquivalent, nur unterschiedliche Notation.

Siehe: Ссылка und Ссылка

    
nisc 03.02.2012 21:26
quelle
1

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.

    
Anthon 01.07.2015 03:17
quelle

Tags und Links