【发布时间】:2019-04-27 07:47:18
【问题描述】:
给定以下代码:
from ruamel.yaml import YAML
yaml = YAML()
with open(filename) as f:
z = yaml.load(f)
yaml.dump(z, sys.stdout)
还有以下文件:
a: >
Hello.<b>
World.
当<b> 是空格字符 (0x20) 时,生成以下 YAML:
a: >
Hello. <0x07> World.
当<0x07> 是字节0x07。
尝试使用 PyYAML 重新加载此 YAML 会导致错误,因为 0x07 是无效字符。
当我删除输入 YAML 中 Hello. 之后的尾随空格时,不会发生这种情况。
知道是什么原因造成的吗?
【问题讨论】:
-
您可能安装了有问题的 ruamel 版本。我遇到了同样的问题,它在 0.15.66 版中得到了修复:pypi.org/project/ruamel.yaml/0.15.66 请参阅更新日志中的评论
-
@tinita 我正在使用
0.15.79,AFAIK 是最新的。此外,我也可以使用0.15.66重现此内容。
标签: yaml ruamel.yaml