【发布时间】:2020-08-26 16:36:39
【问题描述】:
我有一个如下所示的 YAML 文件。该文件包含一些特殊字符,如“---”,因此我无法使用yaml.load() 方法在 python 中加载 YAML。
_engine: E1
_parameter:
- capacity:
- updated: 20200825
dependent: []
---
_engine: E2
_parameter:
- capacity:
- updated: 20200826
dependent: [D1,D2]
YAML 内容为什么可以像下面的 python 一样更改。它将被封装在标签mainData和stage1、stage2等下。每个“---”、stage<number value>的含义都会增加。
mainData:
stage1:
_engine: E1
_parameter:
- capacity:
- updated: 20200825
dependent: []
stage2:
_engine: E2
_parameter:
- capacity:
- updated: 20200826
dependent: [D1,D2]
最后,最终流也将是一个 YAML。
【问题讨论】:
-
我猜你必须手动查找一行破折号并替换它。然后将结果解析为 yaml。你试过吗?发生了什么?或者您可以找出为什么必须首先处理损坏的 yaml 文件。
-
三个连字符在 YAML 中标记一个新文档。见yaml.info/learn/document.html