一、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 = NonedataPackageLose = NonedelayTimeMin = NonedelayTimeMax = NonedelayTimeAvg = 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 = 1for i in range(len(dataMsg)):   #excel的列数for j in range(0,7):        #excel的行数# print RSSIt[i]
            ws.write(index, j, dataMsg[i][j])index += 1wb.save(newTable)if __name__ == '__main__':fileList = readFileList()print(fileList)dataMsg = []for file in fileList:dataMsg.append(readMsg(file))print(dataMsg)writeData()

转载于:https://www.cnblogs.com/hubangsheng/p/11536129.html

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

  1. 小明分享|ESP8266设置STA模式ping包测试

    硬件准备 PC机.USB数据线.ESP8266开发板,路由器 软件准备 串口调试助手(如:XCOM) 固件(可以使用的是开发板自带的固件) Flash Download 烧录工具: https://w ...

  2. 测试站点写入文件权限代码下载

    在写程序安装代码时,时常用到测试站点写入文件权限,主要用到StreamWriter实现一个 TextWriter,使其以一种特定的编码向流中写入字符.StreamWriter是.NET中用于读写文本数 ...

  3. python遍历数组的两种方法及将print的内容写入文件中

    python遍历数组的两种方法 第一种,最常用的,通过for in遍历数组 colours = ["red","green","blue"] ...

  4. Windows脚本 同网段ip检测与持续ping包测试

    ::@echo off title IP 地址检测 -- das白::检测此计算机是否与 172.0.0.1 - 172.0.0.39 互通 结果存入D盘 <检测结果.txt> set i ...

  5. Python实现将内容写入文件的五种方法总结

    本篇带你详细看一下python将内容写入文件的方法以及细节,主要包括write()方法.writelines() 方法.print() 函数.使用 csv 模块.使用 json 模块,需要的可以参考一 ...

  6. Python将内容写入文件的方法总结。

    使用Python写入文件是我们coder的日常,本篇带你详细看一下python将内容写入文件的方法以及细节.主要包括write()方法.writelines() 方法.print() 函数.使用 cs ...

  7. ecplice中class.forname一直报错_Python怎么把文件内容读取出来,怎么把内容写入文件中

    读写文件是最常见的IO操作.Python内置了读写文件的函数. Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 ...

  8. java将生成数据写入文件_JAVA-将内容写入文件并导出到压缩包

    取出数据库表中的内容写入到文件,并将所有文件写入到压缩包最终导出到指定的某目录下 //导出的压缩包格式  xxxx_date Date currentTime = new Date(); //格式化日 ...

  9. java添加文件到压缩包_JAVA-将内容写入文件并导出到压缩包

    取出数据库表中的内容写入到文件,并将所有文件写入到压缩包最终导出到指定的某目录下 //导出的压缩包格式  xxxx_date Date currentTime = new Date(); //格式化日 ...

最新文章

  1. 【微读书】《人工智能颠覆未来战争》连载之一:机器战胜人类?——AlphaGo人机对战的启示...
  2. access无法 dolby_如何解决windows 8无法开启杜比音效的问题
  3. android alert,Android AlertDialog的基本使用
  4. leetcode 576. Out of Boundary Paths | 576. 出界的路径数(暴力递归->傻缓存->dp)
  5. 博客搜索引擎索引博文数量分析与评估
  6. Extjs入门(07) 滚动条autoScroll:true,
  7. [入门]理想的小白程序员成长曲线
  8. IOS设计模式之二(门面模式,装饰器模式)
  9. java webservice用户验证_使用java webservice的.net4.0 web app需要Usernametoken身份验证
  10. 性能测试 Performance Test
  11. Ubuntu如何定时清理内存
  12. Java mongo入门
  13. 最新最全linux系统调优指南(centos7.X)
  14. 设计灵感|App登录注册页面设计方式
  15. 什么是事件流? 什么是事件冒泡? 什么是事件捕获?
  16. oracle 00314,【案例】Oracle报错ORA-00314 数据库异常关机导致redo SCN不一致无法启动...
  17. 偶的流氓老公zt (超搞笑-转)
  18. 将瀚高数据库表内数据导出Excel格式
  19. 什么是CDN,简单了解CDN
  20. 【编程语言】Swift完全自学手册

热门文章

  1. MySQL——外键约束
  2. 爬取1688网站商家信息
  3. jQuery筛选中的查找的语法
  4. Python之JSON库的使用(二)
  5. 罗马数字转换阿拉伯数字(Java版,考虑较为全面)
  6. 某财务部门结账时发现总金额不对头。很可能是从明细上漏掉了某1笔或几笔。 如果已知明细账目清单,能通过编程找到漏掉的是哪1笔或几笔吗?
  7. Xilinx FPGA上电时序分析与设计
  8. ROS(二)FCL碰撞检测算法实现过程
  9. html表格高度自动调整,table表格自适应高度的办法
  10. STM32CubeMX 下载直链