forcing pyYAML to dump consistently

2019-03-27 16:19发布

问题:

In [136]: a = [1,2,3,4,5]

In [137]: print yaml.dump(a)
[1, 2, 3, 4, 5]


In [138]: a = [1,2,3,4,5, [1,2,3]]

In [139]: print yaml.dump(a)
- 1
- 2
- 3
- 4
- 5
- [1, 2, 3]

why are the outputs of above two dumps different? Is it possible to force pyYAML to split the list always?

回答1:

From the documentation:

print yaml.dump(a, default_flow_style=False)

The value can be True, False, or None. If None or unspecified (that is, the default), it chooses automatically whether to use inline or block-style output. False never uses inline, True is always inline.