我有一个分词({'ip':'10.198.0.12'},{'ip':‘10.198.0.91’}等等。
我得一个接一个地打开ip,看看它是否可点击。我正在使用pyping python库,但是我得到了一个错误,它说“dict对象没有属性拆分”。
我正在使用rows=cursor.fetchall()方法从数据库中获取ip,并将变量行返回给函数ping_ip。
def ping_ip(values):
ip_used_list=[]
ip_free_list=[]
for ip in values:
response = pyping.ping(ip)
if response.ret_code == 0:
ip_used_list.append(ip)
print("reachable", ip)
else:
ip_free_list.append(ip)
print("unreachable", ip)
return ip_free_list发布于 2016-06-02 11:20:53
在你的问题中,你没有“一个白痴”。您所拥有的是一个set of dicts,它具有一个包含IP地址的属性ip。
对于ping,您只需要位于ip内部的dicts的那个set属性。
for ip_dict in values:
response = pyping.ping(ip_dict['ip'])或者,如果您只想使用实际的IP号而忘记{'ip': ''}部分,您可以首先将它们转换为list。
def ping_ip(values):
values = [x['ip'] for x in values]
...这给出了像['10.198.0.12', '10.198.0.91', ...]这样的IP来迭代的列表。
https://stackoverflow.com/questions/37590224
复制相似问题