【发布时间】:2021-07-07 03:12:31
【问题描述】:
我将 PyYAML 5.4.1 与 Python 3.7.3 一起使用,但在获取所需的 YAML 输出时遇到了问题。我想要一个列表中的“未命名对象”(不知道如何表达),如下所示:
-
a: 1
b: 2
但我不断得到以下输出的变化:
>>> import yaml
>>> print(yaml.dump([{'a': 1, 'b': 2}]))
- a: 1
b: 2
奇怪的是,当我走另一条路时,我使用两个不同的输入得到了相同的结果:
>>> x = '''
... -
... a: 1
... b: 2
... '''
>>> print(yaml.load(x, Loader=yaml.Loader))
[{'a': 1, 'b': 2}]
>>> y = '''
... - a: 1
... b: 2
... '''
>>>
>>> print(yaml.load(y, Loader=yaml.Loader))
[{'a': 1, 'b': 2}]
【问题讨论】:
-
yaml.load接受任何一个,因为这只是格式的不同。两者之间没有语义差异,我不知道有一个选项可以让yaml.dump产生额外的空白行。