ruamel.yaml
を使用してロードしたYAMLファイルからコメント文字列を取得したいとします。 project documentationにはAPIリファレンスがなく、関連するサンプルが見つかりません。コメントにアクセスする正しい方法は何ですか?Pythonでruamel.yamlを使用してYAMLファイルからコメントを取得するにはどうすればよいですか?
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?
唯一のキーを持つ行にコメントを持っているし、適切に維持するために、まだ実際に可能ではありませんそれ。これは、APIがない理由の1つであり、 'ruamel.yaml'はより完全でなければなりません(潜在的なデータ構造が変更されるべきこれらの稀なケースをサポートすることを含む)。コメントストレージには、リストインデックスの代わりに(スクランブルされた順序で)意味のある属性名が必要です。 'ruamel.yaml'はPyYAMLの遺産をもっとなくすべきですし、Cのパーサーステージを使うときにはコメントラウンドトリップも働かなければなりません。 – Anthon
そして、それ自身の行のコメントが前のスカラーに属するのか、それとも次のスカラーに属するのかを決めるのはもちろん問題です。 – Anthon