import ping3 def ping(ip): a = 0 #ping成功计数器 for addr in ip: if ping3.ping(addr,timeout=5000,unit='ms'): #如果能ping通就把a+1 a = a+1 else: continue if a == len(ip): print ('Normal') #如果成功的次数和list的长度一致,说明网络正常 else: print ('False') if __name__ == '__main__': ping(['192.168.0.2','192.168.0.3'])
另一个实现方法:
1 2 3 4 5 6 7 8 9 10 11
import subprocess def check_alive(ip): result = subprocess.call('ping -w 5 -c 1 %s' %ip,stdout=subprocess.PIPE,shell=True) if result == 0: print('%s 能ping通' %(ip)) else: print('%s ping不通!' % ip) if __name__ == '__main__': print("开始批量ping所有IP!") for i in ['192.168.0.2','192.168.0.3']: check_alive(i)