ruamel 在评论后创建空行

问题描述 投票:0回答:1

我正在努力使用 ruamel 对 YAML 文件进行往返解析。 下面是一个示例 YAML 文件,

input.yaml
:

##### Header comment ####
key: #comment1
  key2: val2

下面是python代码

from pathlib import Path
import ruamel.yaml
input = Path("input.yaml")
yaml = ruamel.yaml.YAML()
data = yaml.load(input)
yaml.dump(data,Path("someoutput.yaml"))

这会创建一个输出文件,每个评论后都会有空白换行符

##### Header comment ####

key: #comment1

  key2: val2

我尝试递归地浏览每条评论(ca.comment)并将其剥离,但没有成功

我已经解决了多个问题,但我能找到的最接近的是 使用 ruamel.yaml 修改 YAML 会添加额外的新行。然而,在这个问题中,评论本身有一个换行符,所以与我的问题无关

我正在使用:

ruamel.yaml==0.17.32
python 3.9
python python-3.x yaml pyyaml ruamel.yaml
1个回答
0
投票

当将

pathlib.Path
实例作为参数传递给
YAML().load()
时,此文件将被打开
rb
,并且
\r\n
结尾的处理应由扫描仪完成。

看起来这不能正常工作,所以我建议尝试:

data = yaml.load(input.open())

和/或:

yaml.dump(data,Path("someoutput.yaml").open('w'))
© www.soinside.com 2019 - 2024. All rights reserved.