为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不使用数组的情况下读取 yaml dict 值?

如何在不使用数组的情况下读取 yaml dict 值?

慕婉清6462132 2021-11-09 20:17:03
我有一个像下面这样的 test1.yaml 文件  accounts:  - name: account1    dockerRegistries:     - set1    - set2    - set3  - name: account2    dockerRegistries:     - set2    - set4    - set5  - name: account3    dockerRegistries:     - set2     - set5     - set4我需要特定名称的 dockerRegistries 值。阅读yaml文件后,我尝试了以下内容:     accounts = []     account_name = y['kubernetes']['accounts']     for account in account_name:        accounts.append(account['name'])     if account['name'] == 'account1':        print(y['kubernetes']['accounts'][0]['dockerRegistries'])     上面的代码根据数组 0,1 等给出值。但是我想要 dockerRegistries 根据 if 条件的值。如果我给        if account['name'] == 'account1' 我想要        ["set2", "set4", "set5"]我如何做到这一点?
查看完整描述

1 回答

?
森林海

TA贡献2011条经验 获得超2个赞

您可能希望将 移动if到for循环内部。像这样的东西:


accounts = []

account_name = y['kubernetes']['accounts']

for account in account_name:

    accounts.append(account['name'])

    if account['name'] == 'account1':

        print(account['dockerRegistries'])

根据帐户的数量以及您想用它们做什么,字典可能是一个明智的解决方案:


accounts = {account['name']:account for account in y['kubernetes']['accounts']}

print(accounts['account1']['dockerRegistries'])


查看完整回答
反对 回复 2021-11-09
  • 1 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信