如何使 PyYAML 或 ruamel.yaml始终内联转储列表?无论是从现有文件加载的 YAML 元素列表还是从我的代码添加的 YAML 元素列表。
当我从文件加载 YAML 然后转储它时,它会转储内联列表(请参见下面的代码)。但是,如果我向现有父对象添加一个带有列表的新 YAML 元素,然后转储它,它会转储非内联列表。
我尝试使用 Python 3.7.3、PyYAML 5.1.1 和 ruamel.yaml 0.15.97。
>>> import ruamel.yaml
>>> ruamel.yaml.__version__
'0.15.97'
>>> raw_yaml = """
... users:
... user1:
... comment: comment1
... keys: ["user1 key1", "user1 key2"]
... groups: ["user1 group1", "user1 group2"]
... """
>>> yaml = ruamel.yaml.round_trip_load(raw_yaml, preserve_quotes=True)
>>> dump = ruamel.yaml.round_trip_dump(yaml, default_flow_style=None)
>>> print(dump)
users:
user1:
comment: comment1
keys: ["user1 key1", "user1 key2"]
groups: ["user1 group1", "user1 group2"]
# …Run Code Online (Sandbox Code Playgroud)