首页 > 解决方案 > 从函数的输出中获取变量的值

问题描述

再会!list_servers() 函数工作后,我得到一个服务器参数列表。这是输出的一个片段:

openstack.compute.v2.server.Server(

"OS-EXT-STS": "task_state=None",
"OS-EXT-SRV-ATTR": "user_data=None",
"OS-EXT-STS": "vm_state=active",
"OS-EXT-SRV-ATTR":instance_name=instance-000003e4,
"OS-EXT-SRV-ATTR": "root_device_name=/dev/vda",
"OS-SRV-USG":launched_at=2020-12-04T10:30:04.000000,

"addresses="{
   "vlan5":[
      {
         "OS-EXT-IPS-MAC:mac_addr":"fa:16:3e:29:9b:f4",
         { "version":4,
         "addr":"192.168.224.36",
         "OS-EXT-IPS:type": "fixed"
      }
   ]
})

我可以从地址中获取所有数据

For server in conn.compute.servers():
        print(str(server['addresses'])

输出:

{'vlan5': [{'OS-EXT-IPS-MAC:mac_addr': 'fa:16:3e:ec:24:de', 'version': 4, 'addr': '192.168.224.20', 'OS-EXT-IPS:type': 'fixed'}]}

但我也想从 'OS-EXT-SRV-ATTR':instance_name 和 'OS-EXT-IPS-MAC:mac_addr' 中获取值。

标签: pythonopenstack

解决方案


推荐阅读