【问题标题】:forcing pyYAML to dump consistently强制 pyYAML 持续转储
【发布时间】: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 格式中看起来很好。

标签: python yaml pyyaml


【解决方案1】:

来自the documentation

print yaml.dump(a, default_flow_style=False)

该值可以是TrueFalseNone。如果None 或未指定(即默认值),它会自动选择是使用内联还是块式输出。 False 从不使用内联,True 总是内联。

【讨论】:

  • 是的。正如第一个常见问题解答条目所说:“默认情况下,PyYAML 根据是否具有嵌套集合来选择集合的样式。如果集合具有嵌套集合,它将被分配块样式。否则它将具有流样式。”
  • 我也不能选择。我希望列表以[1,2,3] 的形式出现,并且字典以带有缩进的单独行出现。如何做到这一点?
猜你喜欢
  • 2014-01-15
  • 2021-05-20
  • 1970-01-01
  • 1970-01-01
  • 2012-12-23
  • 2012-05-25
  • 2017-08-08
  • 1970-01-01
相关资源
最近更新 更多