python - Python - 解析 YAML 字典以按层次结构获取密钥
问题描述
我有一个 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)
错误行 5 路径 = api['api'][ ][ ]['pass_key'] ^ SyntaxError: invalid syntax
解决方案
If you're 100% sure about the dictionary structure, as a trivial solution it is possible to use basic loops:
for layer2_vals in api['api'].values():
for layer3_vals in layer2_vals.values():
print(layer3_vals['pass_key'])
output is
some_value
some_value
some_value
推荐阅读
- reactjs - 如何使用 jest/enzyme 测试反应类之外的验证功能
- python - 如何在 Python 中测试要求用户输入的函数
- python - 将python与颤振集成
- powershell - 即使连续/重叠(grep/sed/awk/powershell/etc),也提取 +/-N 行的每个匹配项+上下文
- javascript - 无法读取未定义的属性“错误”
- python - 如何更改 Tkinter 按钮周围的框的颜色?
- r - 如何在运行 ggplot2 代码时解决美学错误?
- javascript - css在悬停时用动画改变内容
- android - 如何使用用户输入初始化数组?
- php - 无法在 PHP 中上传 mp4 文件