Python中怎么对ping终端进行检查,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联公司服务项目包括西固网站建设、西固网站制作、西固网页制作以及西固网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,西固网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到西固省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!过程:
1、把需要ping的网段中所有ip存到数组中(我是放到数组中了,其实直接for循环,一个个的也行)
2、遍历数组,逐个ping
3、根据ping返回的字符串,判断是否ping通
4、结果存入txt中
下面上代码咯(其实可以简化代码的,我这里就不简化了)
#!/usr/bin/env python # coding: utf8 import time import subprocess import codecs import os import re # telnet host def pingComputer(host, statusFile): status1 = 'ping success' status2 = 'ping faild' errorStr = 'Destination' for ipAdd in host: print ("get: " +ipAdd + " status") # get now time nowTime = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) p = os.popen("ping -q -c 2 -r " + ipAdd) line = p.read() # judge errorstr in line if if errorStr in line: writeToText(nowTime, ipAdd, status2, statusFile) else: writeToText(nowTime, ipAdd, status1, statusFile) # write status information to txt def writeToText(nowTime, ipAdd, status, statusFile): s_text = 'TIME:' + nowTime + '\t' + 'IP:' + ipAdd + '\t' + 'STATUS:' + status + '\r\n' if '0' == judgeFile(statusFile): with open(statusFile, 'a') as f: f.write(s_text) f.close() if '1' == judgeFile(statusFile): with open(statusFile, 'w') as f: f.write(s_text) f.close() # Determine whether statusFile exists # 0: exists # 1: no exists def judgeFile(statusFile): if os.path.exists(statusFile): return '0' else: return '1' if __name__ == "__main__": IpFirst = '192.168.1.' # ip:1~254 host = [] for j in range(254): host.append(IpFirst + str(j + 1)) # write file statusFile = '/root/UpStatus.txt' pingComputer(host, statusFile)
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款