我有一个具有短字符串属性和长多行字符串属性的对象。我想将短字符串写为 YAML 引用标量,将多行字符串写为文字标量:
my_obj.short = "Hello"
my_obj.long = "Line1\nLine2\nLine3"
我希望 YAML 看起来像这样:
short: "Hello"
long: |
Line1
Line2
Line3
我如何指示 PyYAML 执行此操作?如果我调用 yaml.dump(my_obj)
,它会产生类似字典的输出:
{long: 'line1
line2
line3
', short: Hello}
(不知道为什么 long 是那样的双倍行距……)
我可以指示 PyYAML 如何处理我的属性吗?我想同时影响顺序和样式。
原文由 Ned Batchelder 发布,翻译遵循 CC BY-SA 4.0 许可协议
基于 Python 中任何支持将长字符串转储为块文字或折叠块的 yaml 库?
输出