强制 pyYAML 持续转储
Posted
技术标签:
【中文标题】强制 pyYAML 持续转储【英文标题】:forcing pyYAML to dump consistently 【发布时间】:2012-12-11 01:53:21 【问题描述】: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]
为什么上面两个dumps
的输出不一样?是否可以强制pyYAML
始终拆分list
?
【问题讨论】:
您希望输出是什么样的?这个 python 列表的相应转储在 yaml 格式中看起来很好。 【参考方案1】:来自the documentation:
print yaml.dump(a, default_flow_style=False)
该值可以是True
、False
或None
。如果None
或未指定(即默认值),它会自动选择是使用内联还是块式输出。 False
从不使用内联,True
总是内联。
【讨论】:
是的。正如第一个常见问题解答条目所说:“默认情况下,PyYAML 根据是否具有嵌套集合来选择集合的样式。如果集合具有嵌套集合,它将被分配块样式。否则它将具有流样式。” 我也不能选择。我希望列表以[1,2,3]
的形式出现,并且字典以带有缩进的单独行出现。如何做到这一点?以上是关于强制 pyYAML 持续转储的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 yaml/pyyaml 中转储空白而不是 null 吗?