【发布时间】:2021-11-21 09:26:57
【问题描述】:
这是我的代码
from ruamel.yaml import YAML
yaml = YAML()
user = [{"login":"login1","fullName":"First1 Last1", "list":["a"]},{"login":"login2","fullName":"First2 Last2", "list":["b"]}]
test = {"category":[{"year":2023,"users":user}]}
yaml.indent(mapping=4, sequence=4, offset=2)
yaml.width = 2048
with open(r'test.yml', 'w') as file:
documents = yaml.dump(test, file)
我得到了这个 YAML 文件
category:
- year: 2023
users:
- login: login1
fullName: First1 Last1
list:
- a
- login: login2
fullName: First2 Last2
list:
- b
我需要在两个用户之间插入一个换行符(最终的 YAML 应该是这样的)
category:
- year: 2023
users:
- login: login1
fullName: First1 Last1
list:
- a
- login: login2
fullName: First2 Last2
list:
- b
如何添加这个空行?
【问题讨论】:
-
除了对输出文件进行后处理和添加行之外,不确定是否有“正确”的方法。真正的问题是为什么你首先需要额外的行?也许有更好的解决方案?
-
我需要生成一个与之前已经存在的文件一致的文件,这就是为什么我不能没有这个空行
-
由于
ruamel.yaml可以往返保留空行的YAML文档,不需要后处理,你只需要找出在哪里附加评论(空行被认为是评论不是以#) 开头的) -
@AlexandreBarbier 尝试使用问题句,答案对你有帮助。在你原来的“有人能帮忙”上,我能给出的唯一合适的答案是“是的”。欢迎来到Stack Overflow
标签: python yaml ruamel.yaml