【发布时间】:2015-06-18 15:45:58
【问题描述】:
我需要创建一个如下格式的yaml文件:
imager: &imager
type: "detector"
half_angle: 75 degrees
max_distance: 23000 meters
ownship: &ownship
origin: [11,11,5]
type: "uav"
vehicles:
- <<: *ownship
name: "uav1"
origin: [35.69257148103399 degrees, -117.689417544709 degrees, 5500]
sensors:
- <<: *imager
name: "imager1"
我将所有特定数据都存储在 Python 类中,所以我想我会使用 PyYAML 让事情变得简单。然而,当我去阅读文档时,我没有看到如何使用 PyYAML 处理别名。这个功能是否存在,还是我应该继续制作自己的 yaml 编写器?
【问题讨论】:
-
我更新了我的答案,因为我的 ruamel.yaml 库(它具有 PyYAML 功能的超集)现在能够在不丢失合并和锚/参考信息的情况下往返此文件。从头开始创建比较困难,但是您应该能够轻松地从模板 YAML 文件开始,读入并保存它。
-
我在一个类似的问题上发布了这个答案stackoverflow.com/a/36295979/150050
标签: python yaml alias pyyaml cross-reference