[英]ruamel.yaml: modify dump() to add extra '-' at the very start
我正在使用ruamel.yaml库将字典转储到yaml文件中。 但是,它的行为并不符合我的期望。
我如何获得:
---
- a:
- foo: bar
- bar: foo
代替:
a:
- foo: bar
- bar: foo
与yaml.dump()
我正在从中提取数据:
data = {
'a': [
{'foo':'bar'},
{'bar':'foo'}
]
}
具有相同功能的任何其他库均已开放供投标。
您正在寻找的是在YAML
实例上设置explicit_start = True
。 此外,您需要做的顶级如果你想有一个列表- a
,而不是只是a
在第二行:
import sys
import ruamel.yaml
yaml_str = """\
---
-a:
-foo: bar
-bar: foo
"""
data = [{
'a': [
{'foo':'bar'},
{'bar':'foo'}
]
}]
yaml = ruamel.yaml.YAML()
yaml.explicit_start = True
yaml.dump(data, sys.stdout)
给出:
---
- a:
- foo: bar
- bar: foo
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.