您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在Python中使用ruamel.yaml从YAML文件中获取注释?

5b51 2022/1/14 8:21:57 python 字数 2583 阅读 540 来源 www.jb51.cc/python

我想从使用ruamel.yaml加载的YAML文件中获取注释字符串. project documentation缺少API参考,我找不到相关的例子.访问评论的正确方法是什么?import ruamel.yaml yaml = '''\ %YAML 1.2 --- # C1 a: # C2 # C3 # C4 b: 1 # C5 c: # A

概述

我想从使用ruamel.yaml加载的YAML文件获取注释字符串. project documentation缺少API参考,我找不到相关的例子.访问评论的正确方法是什么?

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?

The comment preservation has not stabilized,e.g. I need to do something if the key and value of a mapping are not on the same line and the key (or both key and value) have a comment. And my initial target was preservation of existing comments,not so much manipulation.

通过一些实验,我确定了上述问题中提供的示例代码的以下工作:

print('Comment 1: ' + loaded.ca.comment[1][0].value)
print('Comment 2: ' + loaded.ca.items['a'][2].value)
print('Comment 3: ' + loaded.ca.items['a'][3][0].value)
print('Comment 4: ' + loaded.ca.items['a'][3][1].value)
print('Comment 5: ' + loaded['a'].ca.items['b'][2].value)
print('Comment 6: ' + loaded['a']['c'].ca.items[0][0].value)
print('Comment 7: ' + loaded['a']['c'].ca.items[1][0].value)
print('Comment 8: ' + loaded['a']['c'].ca.end[0].value)
print('Comment 9: ' + loaded['a']['c'].ca.end[1].value)

总结

以上是编程之家为你收集整理的如何在Python中使用ruamel.yaml从YAML文件中获取注释?全部内容,希望文章能够帮你解决如何在Python中使用ruamel.yaml从YAML文件中获取注释?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶