我如何控制PyYAML在我的数据中使用的标量形式?

27 浏览
0 Comments

我如何控制PyYAML在我的数据中使用的标量形式?

我有一个带有短字符串属性和长多行字符串属性的对象。我想将短字符串写成一个带引号的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如何处理我的属性?我想要影响属性的顺序和样式。

0