在Python中遍历YAML的最佳方法

时间:2017-07-14 12:24:26

标签: python python-2.7 yaml

我有一个YAML文件,我需要不时地使用它:

environments_definition:
    environment:
        default:
          stack_profile: 'snapshot_volume_mounted'
          stack_params:
            private_net_id :
                value: "inner-net"
                to_id: "network"
          action:
            someaction: "do_that_Action"

我遍历此YAML文件,并执行以下任何操作

  1. store stack_profile是一个函数,将stack_params存储在另一个函数中(以字典的形式)。
  2. 如果我在stack_params找到行动,我会抓住" do_that_Action"并在此基础上做了一些事情
  3. 我还更新了这个YAML中的一些值。 E.g。

    env_default_params = self.orch_params["environments_definition"]["environment"]['default']
    
  4.     if 'action' in env_params:
                action_params = env_params['action']
                for key in action_params.keys():
                    if type(action_params[key]) is dict:
                        if (action_params[key]['action'] == 'do_that_Action'):
                            do_that_Action
                        else:
                            print("No action")
    

    以下是一些例子。我想知道是否有更简洁的方式穿越YAML。每当我必须在YAML中找到某些东西时,我必须使用

    env_default_params = self.orch_params["something"]["something"].
    

    还有更好的方法吗?

0 个答案:

没有答案