是)我有的:
a: some meta info
b: more meta info
c: actual nicely
formatted text that
has line breaks
我正在寻找c
使用文档分隔符---转移到新的YAML文档
a: some meta info
b: more meta info
---
actual nicely
formatted text that has line breaks
and so on
但是当我使用第二种替代方法时,我会丢失格式,例如换行等。
有没有一种方法可以使用后一种YAML方法格式并保持换行符?
我当前正在使用ruamel.yaml库读取此yaml及以下函数以加载我的文件。
yaml.load_all(f,加载程序= yaml.Loader)
如果希望换行符处于加载的值中,建议将第二个文档设置为文字样式标量。
如果您有input.yaml
:
a: some meta info
b: more meta info
--- |
actual nicely
formatted text that
has line breaks
然后这个程序:
from pathlib import Path
import ruamel.yaml
path_name = Path('input.yaml')
yaml = ruamel.yaml.YAML()
for data in yaml.load_all(path_name):
print(repr(data))
给出:
ordereddict([('a', 'some meta info'), ('b', 'more meta info')])
'actual nicely\nformatted text that\nhas line breaks\n'
请注意,某些YAML库确实(不正确地)假设需要缩进文档根级的文字样式标量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句