【发布时间】:2021-07-13 19:10:20
【问题描述】:
大家好,我想加载一个 yaml 文件,对其进行解析并为每个非特定标签 (!Element) 创建新的 yaml 文件
我想在新的 yaml 文件或示例中删除每个 !Element 的部分
new_folder/element1/element1_config.yml
内容应该是:
name: element1
gnc_script:
- '*fcc_cores_1'
- '*setup'
relationship:
- projectx
- projectxy
- projectxyt
# indirect related on
- projectxyz1
我的 yaml 看起来像这样(我原来的 yml 真的很大,有超过 100 个 !ELements 所以对于这个问题我使用了一个较短的版本):
elements:
- !Element
name: element1
gnc_script:
- '*fcc_cores_1'
- '*setup'
relationship:
- projectx
- projectxy
- projectxyt
# indirect related on
- projectxyz1
- !Element
name: element2
gnc_script:
- '*fcc_cores_1'
relationship:
- projectx
- projectxy
- projectxyt
# indirect related on
- projectxyz1
- !Element
name: element3
gnc_script:
- '*fcc_cores_1'
- '*setup'
relationship:
- projectx
- projectxy
- projectxyt
# indirect related on
- projectxyz1
你知道我该如何解决吗?
到目前为止我所拥有的:
import yaml
with open ('elements.yml', 'r') as elements_file:
elements_yml = yaml.load(elements_file)
elements= elements_yml["elements"]["!Element"]
for element in elements:
os.makedirs(elements_yml["elements"]["!Element"]["name"])
# create new yaml file with content of element
【问题讨论】:
-
你在乎评论
# indirect related on吗?注释通常会被 PyYAML 丢弃,因此您无法轻松保留它。