使用python解析日誌,並將結果匯出為csv檔案
python指令碼如下:
import os
import re
import numpy
import csv
path=r'd:\logs\trade_2020-03-11.log'#配置日誌路徑
file=
open
(path)#讀取日誌
iterf=
iter
(file)
csv_file=
open
('記憶體.csv'
,'w'
,encoding=
'gbk'
,newline=
'')#生成csv檔案
csv_writer=csv.
writer
(csv_file)
csv_writer.
writerow([
"時間"
,"使用記憶體"
,"可用記憶體"
,"物理記憶體"
])#設計csv檔案字段
for line in iterf:
c=line.
find
('記憶體使用'
)#查詢記憶體使用欄位在日誌行中的索引位置,位置為42
d=line.
find
('可用'
) e=line.
find
('/'
) f=line.
find
('物理'
) g=line.
find
('8gb】'
) # print
(g)if c>-1
: # print
(c,d)
time=line[7:
29]#時間欄位在列印日誌中的7—29索引位置的內容
use_mem=line[c+
5:d-
1]#同上
free_mem=line[d+
3:e]
wuli_mem=line[f+
3:g-4]
csv_writer.
writerow
([time,use_mem,free_mem,wuli_mem]
)#將剪下內容匯入csv檔案
exit
()
下圖為最終生成的csv檔案內容
python 執行shell命令並將結果儲存的例項
方法1 將she執行的結果儲存到字串 def run cmd cmd result str process subprocess.popen cmd,shell true,stdout subprocess.pipe,stderr subprocess.pipe result f process.s...
python列印日誌到控制台並將日誌寫入檔案
import sys import logging logger logging.getlogger log logger.setlevel logging.debug 呼叫模組時,如果錯誤引用,比如多次呼叫,每次會新增handler,造成重複日誌,這邊每次都移除掉所有的handler,後面在重新新...
Mysql查詢結果匯出為Excel的幾種方法
url 方法一 查詢語句直接輸出 語法格式 example select into outfile data var 3307 catid.xls from help cat where 1 order by cat id desc limit 0,20 select into outfile 匯出...