我有一个词典({' ip':' 10.198.0.12'},{' ip':' 10.198.0.91&# 39;})等等。
我必须逐个ping一个字典中的ip,看看它是否可ping。 我正在使用 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
答案 0 :(得分:2)
在你的问题中,你没有“知识产权法典”。您所拥有的是set
dict
个ip
,其中包含一个包含IP地址的属性ip
。
要ping,您只需要dict
内set
的{{1}}属性。
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]
...
这会为您提供一个IP列表,例如['10.198.0.12', '10.198.0.91', ...]
来迭代。