首页 > 编程语言 > 详细

ping包测试内容写入文件,并使用python对相应的结果进行统计分析

时间:2019-09-17 19:16:39      阅读:122      评论:0      收藏:0      [点我收藏+]

一、ping包测试内容写入log文件,bat脚本如下:

@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

二、对生成的.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()

 

ping包测试内容写入文件,并使用python对相应的结果进行统计分析

原文:https://www.cnblogs.com/hubangsheng/p/11536129.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!