???????????????????????????????????????????????????????????????python??????????Щ???????????report??
?????????????????????pdf????飺
????# -*- coding: utf-8 -*-
????from reportlab.graphics.shapes import *
????from reportlab.graphics.charts.lineplots import LinePlot
????from reportlab.graphics.charts.textlabels import Label
????from reportlab.graphics import renderPDF
?????????????????????????????
????def FileRead(path):
????data_list = []
????number_list = []
????number = 0
????for line in open(path):
????data_list.append(line)
????number =number+1
????number_list.append(number)
????return data_list??number_list
??????????????????????pdf???????
def MakePDF(times??list??reportname??pdfname):
drawing = Drawing(500??300)
lp = LinePlot()
lp.x = 50
lp.y = 50
lp.height = 125
lp.width = 300
lp.data = [zip(times?? list)]
lp.lines[0].strokeColor = colors.blue
lp.lines[1].strokeColor = colors.red
lp.lines[2].strokeColor = colors.green
drawing.add(lp)
drawing.add(String(350??150?? reportname??fontSize=14??fillColor=colors.red))
renderPDF.drawToFile(drawing??pdfname??reportname)
#?????times??list????????????list???????????????????????????
??Щ?????????????????????·???AppStartTime???????
def analysisStartFile(list):
totalcount =0
totaltime =0
time_list =[]
totalcount_list = []
for i in range(len(list)):
if 'AppStartTime' in list[i]:
totalcount =totalcount+1
totalcount_list.append(totalcount)
if float(list[i+4].split(' ')[1][-6:])-float(list[i].split(' ')[1][-6:])>0:
totaltime=totaltime+float(list[i+4].split(' ')[1][-6:])-float(list[i].split(' ')[1][-6:])
time_list.append(float(list[i+4].split(' ')[1][-6:])-float(list[i].split(' ')[1][-6:]))
return totalcount_list??'%.2f'%float(totaltime/totalcount)??time_list
???????е??????????????????split??????????????????????????????????????????е????????list?У????????????????????????????б?÷?????鷳?????????????????split???????????????if key in list????????й?????????????
????????main?????????л????????μ??????з?????
????if __name__== '__main__':
????list1??list2 = FileRead(<your file path>)
????print list1??list2
????list_count??average_start_time??time_list = analysisStartFile(list1)
????MakePDF(list_count??time_list??'average time:'+str(average_start_time)+'s'??"??????????.pdf")
????????????????????????????????????