1、ping包測試內容寫入log文件,bat腳本以下:app
@ECHO OFF %~d0 cd %cd%\ start CMD.EXE /C "ping.exe 192.168.1.21 >>1.21.log" -n 300 start CMD.EXE /C "ping.exe 192.168.1.45 >>1.45.log" -n 300 start CMD.EXE /C "ping.exe 192.168.1.77 >>1.77.log" -n 300 start CMD.EXE /C "ping.exe 192.168.1.79 >>1.79.log" -n 300 start CMD.EXE /C "ping.exe 192.168.1.114 >>1.114.log" -n 300 start CMD.EXE /C "ping.exe 192.168.1.120 >>1.120.log" -n 300 start CMD.EXE /C "ping.exe 192.168.1.121 >>1.121.log" -n 300 start CMD.EXE /C "ping.exe 192.168.1.113 >>1.113.log" -n 300 start CMD.EXE /C "ping.exe 192.168.1.116 >>1.116.log" -n 300 start CMD.EXE /C "ping.exe 192.168.1.119 >>1.119.log" -n 300 start CMD.EXE /C "ping.exe 192.168.1.117 >>1.117.log" -n 300
2、對生成的.Log文件進行分析並將數據存儲到excel中,代碼以下:測試
import re,os,time import xlwt import os #獲取當前文件夾下擴展名爲.log的文件名列表 def readFileList(): items = os.listdir(".") newList = [] for names in items: if names.endswith(".log"): newList.append(names) return newList #獲取log文件中的統計信息 def readMsg(file): #for i in fileList: f = open(file,'r') fileMsg = f.readlines() ipMatch2 = re.search(r'(([01]?\d?\d|2[0-4]\d|25[0-5]\d)\.){3}([01]?\d?\d|2[0-4]\d|25[0-5]\d)', fileMsg[-2]) if ipMatch2==None: ipMatch = re.search(r'(([01]?\d?\d|2[0-4]\d|25[0-5]\d)\.){3}([01]?\d?\d|2[0-4]\d|25[0-5]\d)',fileMsg[-4]) IP = ipMatch.group() #print(IP) dataPackage = fileMsg[-3:-2][0].strip('\n').replace(" ","") dataPackageClient = dataPackage.split(',')[0].split(':')[1] dataPackageSever = dataPackage.split(',')[1] dataPackageLose = dataPackage.split(',')[2] #print(dataPackage) delayTime = fileMsg[-1].strip('\n').replace(" ","") delayTimeMin = delayTime.split(',')[0] delayTimeMax = delayTime.split(',')[1] delayTimeAvg = delayTime.split(',')[2] #print(delayTime) else: IP = ipMatch2.group() dataPackageClient = 'ping fail' dataPackageSever = None dataPackageLose = None delayTimeMin = None delayTimeMax = None delayTimeAvg = None #print(IP) #print("ping fail") return [IP, dataPackageClient,dataPackageSever,dataPackageLose,delayTimeMin,delayTimeMax,delayTimeAvg] #print('---------------------------------------') #將獲得的統計信息寫入到excel表格中 def writeData(): newTable = 'ping.xls' wb = xlwt.Workbook(encoding='utf-8') ws = wb.add_sheet('ping', cell_overwrite_ok=True) # 建立表 headData = ['IP', '已發送','已接收','丟失','最短','最長','平均'] for colnum in range(0, 7): ws.write(0, colnum, headData[colnum], xlwt.easyxf('font:bold on')) index = 1 for i in range(len(dataMsg)): #excel的列數 for j in range(0,7): #excel的行數 # print RSSIt[i] ws.write(index, j, dataMsg[i][j]) index += 1 wb.save(newTable) if __name__ == '__main__': fileList = readFileList() print(fileList) dataMsg = [] for file in fileList: dataMsg.append(readMsg(file)) print(dataMsg) writeData()