python yaml.dump 其他YAML格式的格式列表

Gor*_*don 5 python yaml pyyaml

我想像这样将 Python 对象转储到 YAML 文件中:

a: 5
b: 6
c: 7
d: [ 1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

但不是

a: 5 
b: 6
c: 7
d 
- 1
- 2
- 3
- 4
Run Code Online (Sandbox Code Playgroud)

图像 d 是一个庞大的列表,输出对于人类来说变得混乱。

我使用:default_flow_style=False但这使用新的行列表项格式。

我已经使用客户自卸车来停止锚点。

aah*_*nik 22

斯巴佐夫斯基的评论奏效了。

我已经使用 PyYaml 测试了 python 3.95.4.1

yaml.dump与, 一起使用default_flow_style=None以获得所需的效果。


Jan*_*sky 0

以下结果是否符合您的预期?

>>> import yaml
>>> dct = {"a": 5, "b": 6, "c": 7, "d": range(60)}
>>> print yaml.dump(dct)
a: 5
b: 6
c: 7
d: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
  22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
  42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59]
Run Code Online (Sandbox Code Playgroud)

请注意,换行符是由yaml而非我添加的。

  • 今天遇到这个问题,没有解决。PyYAML 的默认值已更改,因此为了获得本文中描述的效果,需要将 `default_flow_style=None` 传递给 `yaml.dump` (以启用启发式方法来确定列表的样式)。 (9认同)