次のように、ログファイルを書き込んだのpingテストパッケージの内容は、コウモリのスクリプトは次のとおりです。
@ECHO OFF %〜D0 のCD%CD% \ スタートCMD.EXE / C " PING.EXE 192.168.1.21 >> 1.21.log" 300 -n スタートCMD.EXE / C " 192.168.1.45 >> 1.45 PING.EXE。ログ」-n 300 スタートCMD.EXE / C " " 300 -n 192.168.1.77 PING.EXE >> 1.77.logを 開始CMD.EXE / C " 300 -n 192.168.1.79 PING.EXE >> 1.79.log"を 開始CMD.EXE / C " PING.EXE 192.168.1.114 >> 1.114.log" -n 300 スタートCMD.EXE / C " 300 -n PING.EXE 192.168.1.120 >> 1.120.log" スタートCMD.EXE / C " PING.EXE 192.168.1.121 >> 1.121。ログ"-n 300 スタートCMD.EXE / C "PING.EXE 192.168.1.113 "300 -n >> 1.113.log 開始CMD.EXE / C " " 300 -n 192.168.1.116 >> 1.116.log PING.EXE 開始CMD.EXE / C " PING.EXE 192.168.1.119 >> 1.119.log」-n 300 スタートCMD.EXE / C " 300 -n PING.EXE 192.168.1.117 >> 1.117.log"
次のように第二、Excelのコードに格納されたデータの.logファイルの生成と分析があります。
輸入再、OSは、時間 のインポートはxlwt インポートOSの #は、現在のファイル名の拡張子.logのリストの下のフォルダを取得 DEF readFileList(): アイテム(= os.listdirを" " ) newList = [] のための名前でアイテム: IF names.endswith(" .logの" ): newList.append(名前)を返すnewList #は、ログファイルの統計情報取得DEF ReadMsgと(ファイルを): #ファイル・リスト内のiについて: fは=オープン(ファイル、' 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 ]) 場合 ipMatch2 == なし: 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() #の印刷(IP) dataPackage = fileMsg [-3:-2] [0 ] .strip(' \ nを').replace(" "、"") dataPackageClient = dataPackage.split(' ')[0] .split(' :')[1 ] dataPackageSever = dataPackage.split(' ')[1 ] dataPackageLose = dataPackage.split(' ')[2 ] #1 プリント(dataPackage) 遅延時間= fileMsg [-1] .strip(' の\ n ').replace(" "、"" ) delayTimeMin = delayTime.split('、 ' )[0] delayTimeMax = delayTime.split(' 、')[1 ] delayTimeAvg = delayTime.split(' 、')[2 ] #のプリント(遅延時間) 他: IP = ipMatch2.group() dataPackageClient = ' pingが失敗「 dataPackageSever = Noneに dataPackageLose = Noneに delayTimeMin = Noneに delayTimeMax = Noneに delayTimeAvg = なし #の印刷(IP) #の印刷( "ピングの失敗") のリターン[IP、dataPackageClient、dataPackageSever、dataPackageLose、delayTimeMin、delayTimeMax、delayTimeAvg] #の印刷(「-------------- ------------------------- ') #得られた統計をエクセルに書き込まれる DEF 書き込みデータを(): NEWTABLE = ' ping.xls ' WB = xlwt.Workbook(エンコード= ' UTF-8 ' ) WS = wb.add_sheet(' ピングの'、cell_overwrite_ok = TRUE) #は、テーブル作成 headData =を[ ' IPを '、' 送信'、' 受信'、' 失われた'、' 最小'、' 最大'、' 平均' ] のため colNum引数に範囲(0 ,. 7 ): ws.writeを(0、colNum引数、headData [colNum引数]、xlwt.easyxf(' フォント:太字ON ' )) インデックス = 1。 ための I における範囲(LEN(dataMsg)): #列のExcelの数 のための J で範囲(0,7)。 #エクセル的行数 #1 [i]は、印刷RSSIT ws.write(インデックス、J、dataMsg [I] [J]) インデックス + = 1 wb.save(NEWTABLE) 場合 __name__ == ' __main__ ' : のfileList = readFileList() プリント(のfileList) dataMsg = [] のためのファイル内のfileList: dataMsg.append(ReadMsgと(ファイル)) プリント(dataMsg) 書き込みデータ()