需要使用以下格式写入yaml文件:
any_value: 123.4
data_points: |-
a
b
ruamel.yaml可以解决
import sys
import ruamel.yaml
yaml_str ="""\\
any_value: 123.4
data_points: |-
a
b
"""
yaml = ruamel.yaml.YAML()
data = yaml.load(yaml_str)
yaml.dump(data, sys.stdout)
或者
from ruamel.yaml.scalarstring import LiteralScalarString
data['data_points'] = literalScalarString("""\\
0.0, 1.0
0.1, 1.5
0.2, 1.7""")
yaml.dump(data, sys.stdout)
请注意,|-中的破折号表示标量没有最后的换行符。