YAML:转储不带引号的 Python 列表

2022-01-14 00:00:00 python yaml

问题描述

我有一个 Python 列表 my_list,它看起来像这样 ["test1", "test2", "test3"].我只是想将它转储到不带引号的 YAML 文件中.所以想要的输出是:

I have a Python list, my_list that looks like this ["test1", "test2", "test3"]. I simply want to dump it to a YAML file without quotes. So the desired output is:

test_1
test_2
test_3

我试过了:

import yaml
with open("my_yaml.yaml", "w") as f:
    yaml.safe_dump(my_list, f)

不幸的是,这包括一行中的所有 3 个元素,并且它们被引用了:

Unfortunately, this includes all 3 elements on a single line and they're quoted:

'test_1'、'test_2'、'test_3'

如何修改以获得所需的输出?

How can I modify to get the desired output?


解决方案

尝试使用 default_style=None 避免使用引号,并使用 default_flow_style=False 将项目输出到不同的行:

Try using default_style=None to avoid quotes, and default_flow_style=False to output items on separate lines:

yaml.safe_dump(my_list, f, default_style=None, default_flow_style=False)

相关文章