在近期的项目中,老大要求做一个工具,根据关键字抓取log包中的对应信息。众所周知log中的信息一般类似于a:b的形式,一开始做的时候,我很纳闷,怎么将一句话截取,并挑选出有用的信息。但当我意识到log中信息的排列方式时,我才想到用字典的形式是比较适当的方法。首先利用正则表达式,将关键字正则化,并在逐行扫描中,定位到含有其中关键字的那句话。再利用字典结构,将信息转化为键和值的形式,以此类推我们不仅可以定位到关键句,还可以将关键信息提取出来,想要什么信息,直接将键值打印出来即可。
workbook = xlsxwriter.Workbook('test3.xlsx')
worksheet = workbook.add_worksheet()
def create_event_item(mat):#数据以字典结构存储
eventitem = {}
for k,trfunc in event_template.items():
eventitem[k] = trfunc(mat.group(k))
return eventitem
for i in vol:
re_key_word = re.compile(i)
test_log = AnyFileOpener(r'C:\Users\EEMAWNN\Documents\python\BTS_78_6447_L26T_logfiles.zip','teread.log')
for line in test_log:
line = line.rstrip()
mat = re_key_word.search(line)
pat = re_second.search(lin