python通过调用ping命令,判断liansuodian列表内局域网ip地址是否通,如果通的话,获取延时信息、丢包信息、平均延时等相关返回信息,并通过判断延时时间,延时时间超过10秒预警,将预警信息取出负给一个列表取值。不通的话取不通的ip地址,将不通地址付给一个列表。每隔10分钟自动循环执行一次。
我现在写的,如果多个不通的话,只有第一个会提取ip地址,随后就跳出循环了,请问怎样写才可以达到我上边提出的需求。请指点 谢谢,感激不尽
# *--coding=utf-8--*
import os
import subprocess
import re
import content as content
from pythonping import ping
liansuodian = ['193.168.46.254','193.168.46.115','193.168.13.254','193.168.16.254','172.16.10.44']
for i in liansuodian:
command = os.popen("ping -n 1 " + i)
pin = command.read()
# print(pin)
if "请求超时" in pin:
p = i
print(p)
# print("NO")
else:
bytime = re.findall(r'时间=(\w)', pin, re.M)
print(bytime)