Ich möchte die Kommentarzeichenfolgen aus einer YAML-Datei erhalten, die ich mit ruamel.yaml
geladen habe. Der project documentation fehlt eine API-Referenz und ich kann kein relevantes Beispiel finden. Was ist der richtige Weg, um auf die Kommentare zuzugreifen?Wie kann ich Kommentare aus einer YAML-Datei mit ruamel.yaml in Python erhalten?
import ruamel.yaml
yaml = """\
%YAML 1.2
---
# C1
a: # C2
# C3
# C4
b: 1 # C5
c: # A comment here will not be parsed properly by ruamel.yaml v0.11.14
- abC# C6
- xyz # C7
# C8
# C9
"""
loaded = ruamel.yaml.round_trip_load(yaml)
# Now what?
Es ist in der Tat noch nicht möglich auf einer Linie Kommentar zu haben, die nur einen Schlüssel hat und richtig bewahren Das. Dies ist einer der Gründe, warum es keine API gibt, da "ruamel.yaml" vollständiger sein sollte (einschließlich der Unterstützung dieser seltenen Fälle, für die sich die zugrunde liegende Datenstruktur ändern sollte). Der Kommentarspeicher benötigt auch aussagekräftige Attributnamen anstelle von Listenindizes (in einer verschlüsselten Reihenfolge). 'ruamel.yaml' sollte mehr von PyYAMLs Legacy loswerden und Kommentar-Runden-Trips sollten auch funktionieren, wenn die C-basierten Parser-Stufen verwendet werden. – Anthon
Und dann gibt es natürlich das Problem zu entscheiden, ob ein Kommentar zu einer eigenen Zeile zu dem vorherigen Skalar gehört oder zum nächsten usw. – Anthon