如何在不知道结果的情况下获取输出的一部分

时间:2018-08-03 11:47:08

标签: python networking ip

我有一个命令,该命令扫描网络上的设备,然后提供有关它们的很多信息,包括其IP地址,如何隔离ip并将其转换为字符串? 知道它可以扫描特定的设备,类似nmap的东西不适用于我的情况,另外,会有多个IP,如何将它们隔离在不同的字符串中?

输出:

[{'ip': u'xxx.xxx.xx.xx', 
  'port': xxxxx, 
  'capabilities': {
      u'hue': u'0', 
      u'color_mode': u'2', 
      u'name': u'xxxxxx', 
      u'power': u'on', 
      u'support': u'get_prop set_default set_power toggle set_bright start_cf stop_cf set_scene cron_add cron_get cron_del set_ct_abx set_rgb set_hsv set_adjust set_music set_name', 
      u'rgb': u'16712469', 
      u'fw_ver': u'44', 
      u'bright': u'100', 
      u'model': u'stripe', 
      u'ct': u'2000', 
      u'id': u'0x0000000005e1c8db', 
      u'sat': u'100'
      }
  }]

1 个答案:

答案 0 :(得分:4)

如果您收到可分析的输出,则可以简单地执行以下操作:

ips= []

for data in output:
    ips.append(data["ip"])

或作为评论建议:

ips = [data["ip"] for data in output]