Python - 解析 YAML 字典以按层次结构获取键

Python - Parse YAML dict to get keys by heirarchy

我有一个 YAML 字典,我需要在其中迭代层次结构的第二个键(/home、/career、/help、/)以找到键“pass_key”的存在。 “pass_key”的位置将始终固定(第 4 层级)。

api:
  /home:
    post:
      pass_key: some_value
  /career:
    get:
      pass_key: some_value
  /help:
    post:
      pass_key: some_value

问题是,我无法在不知道密钥名称的情况下获得密钥,因为在这里放置星号没有帮助:) 我怎样才能做到这一点?任何帮助将不胜感激。谢谢!

import yaml

with open(r'./test.yaml') as file:
    api = yaml.load(file, Loader=yaml.FullLoader)
    check_key = api['api'][*][*]['pass_key']
    print(check_key)

error line 5 paths = api['api'][][]['pass_key'] ^ SyntaxError: invalid syntax

如果您 100% 确定字典结构,作为简单的解决方案,可以使用基本循环:

for layer2_vals in api['api'].values():
    for layer3_vals in layer2_vals.values():
        print(layer3_vals['pass_key'])

输出是

some_value
some_value
some_value