最新的 Ruamel 评论示例

Up-to-date Ruamel comment examples

我有一个很大的 YAML 文件,我需要仅以编程方式为某些键添加注释。例如,如果我看到一个键 "foo",我总是需要添加一个注释 "bar".

我尝试查看使用 Ruamel 向 YAML 文件添加注释的示例 (ex1, ),但这些示例中 none 似乎有效。特别是,我什至无法正确使用 ruamel.yaml.load() 函数。我总是收到此错误消息:TypeError: update() takes exactly 2 arguments (1 given).

我正在使用 Ruamel 0.15.22 和 Python 2.7.8。有什么建议吗?

编辑:包括一些抛出类型错误的示例代码

from __future__ import print_function
import ruamel.yaml
inp = """\
abc:
    - a # comment 1
xyz:
    a: 1 # comment 2
    b: 2
    c: 3
    d: 4
    e: 5
    f: 6 # comment 3
"""
data = ruamel.yaml.load(inp, ruamel.yaml.RoundTripLoader) 
data['abc'].append('b') 
data['abc'].yaml_add_eol_comment('comment 4', 1) # takes column of comment 1 
data['xyz'].yaml_add_eol_comment('comment 5', 'c') # takes column of comment 2 
data['xyz'].yaml_add_eol_comment('comment 6', 'e') # takes column of comment 3 
data['xyz'].yaml_add_eol_comment('comment 7', 'd', column=20)
print(ruamel.yaml.dump(data, Dumper=ruamel.yaml.RoundTripDumper), end='')

原来我们集群的Ruamel安装有问题。现在,使用 Python virtualenv 可以解决所有错误。感谢@Anthon 建议使用 virtualenv。