Eag*_*rn 4 python alias yaml cross-reference pyyaml
我需要创建一个具有以下格式的 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"
Run Code Online (Sandbox Code Playgroud)
我将所有特定数据存储在 Python 类中,因此我想使用 PyYAML 来使事情变得简单。然而,当我去阅读文档时,我没有看到如何使用 PyYAML 处理别名。这个功能是否存在,或者我应该继续制作我自己的 yaml writer?
如果您的 python 数据结构包含对同一对象的多个引用,那么 PyYAML 看起来似乎做了正确的事情。例如,考虑一下:
>>> a = {'name': 'bob', 'office': '100'}
>>> b = {'president': a, 'vice-president': a}
>>> b
{'president': {'name': 'bob', 'office': '100'}, 'vice-president': {'name': 'bob', 'office': '100'}}
>>> import yaml
>>> print yaml.dump(b)
president: &id001 {name: bob, office: '100'}
vice-president: *id001
Run Code Online (Sandbox Code Playgroud)
PyYAML 已识别出“president”和“vice-president”键的值是对同一对象的引用,并创建了一个别名并正确使用它。
| 归档时间: |
|
| 查看次数: |
6780 次 |
| 最近记录: |