我正在编写一个程序,需要检查某些字段是否使用了正确的别名字符串。例如:
networks:
base:
name: build
address: &dummyname
url: 192.168.1.1
port: 8080
first:
name: masterA
address: *dummyname
second:
name: masterB
address: *dummyname
我需要检查字段address是否在第一和第二中以别名“*dummyname”定义,无论别名的内容是什么。
使用PyYaml执行加载时,总是会呈现别名,因此我无法检查:
data = yaml.safe_load(file_data)
Python 字典格式的数据:
networks:
base:
name: build
address:
url: 192.168.1.1
port: 8080
first:
name: masterA
address:
url: 192.168.1.1
port: 8080
second:
name: masterB
address:
url: 192.168.1.1
port: 8080
我看到了一些类似的帖子,介绍将python对象转换为YAML格式但不创建别名/锚点的方法,但我还没有找到这个问题的解决方案。
如何访问在YAML文档中使用的别名?