python - 如何将 python 列表转换为简单的 YAML?

标签 python yaml

我的列表非常小,我可以手动完成这些操作,但我正在寻找以编程方式执行此操作的正确方法。我有这个作为测试:

import yaml

a = ['item 1','item 2','item 3','item 4']
yaml.dump(a)

给我这个:

'[item 1, item 2, item 3, item 4]\n'

当我想要的是像这样的简单 YAML 输出时:

---
- item 1
- item 2
- item 3
- item 4

这是否需要在 dict 结构中,有值,但不知何故没有键?不太确定如何在这里进行。非常感谢任何指导!

最佳答案

您必须为转储函数设置以下参数:

  • explicit_start=True 用于输出开头的 ---
  • default_flow_style=False 打印每行分隔的项目。
import yaml

a = ['item 1','item 2','item 3','item 4']
yaml.dump(a, explicit_start=True, default_flow_style=False)

给你

'---\n- item 1\n- item 2\n- item 3\n- item 4\n'

如果你打印输出,你会得到

---
- item 1
- item 2
- item 3
- item 4

关于python - 如何将 python 列表转换为简单的 YAML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30778134/

相关文章:

python - 使用 shutil 复制/移动在 Windows 服务器之间传输文件

ruby - 在 gem 中放置/访问配置文件的位置?

ruby - Ruby 从 1.8.7 升级到 1.9.3 后出现 Yaml 编码问题

gitlab - 扩展和 anchor 标记之间有什么区别(<< : *anchor) in yaml (Gitlab CICD)?

.net - 如何使用引导的 .NET Core API Docker 项目运行 Skaffold?

python - 为 Pandas 中每次出现的字符串创建一个新列

python - 无法理解为什么返回此值

python - pyodbc 连接到 SQL Server 2012 问题

python - python 中的waveplay 等效命令

java - 通过yaml配置java类对象列表