【发布时间】:2016-11-10 04:29:54
【问题描述】:
我想从使用ruamel.yaml 加载的 YAML 文件中获取注释字符串。 project documentation 缺少 API 参考,我找不到相关示例。访问 cmets 的正确方法是什么?
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 的原因之一,因为
ruamel.yaml应该更完整(包括支持底层数据结构应该更改的这些罕见情况)。评论存储也需要有意义的属性名称而不是列表索引(以某种打乱的顺序)。ruamel.yaml应该摆脱更多 PyYAML 遗留问题,并且在使用基于 C 的解析器阶段时,注释往返也应该起作用。 -
当然还有一个问题,就是判断自己一行的注释是属于前一个标量,还是属于下一个标量等等。
标签: python comments yaml ruamel.yaml