使用 Python 截取日志文件中指定日期间的日志记录
# -*- coding: UTF-8 -*-
from dateutil.parser import parse
import re
strdate="2021-04-14 10:14:41" # 开始日期
enddate="2021-04-14 10:20:42" #结束日期
sourceFile="日常申报费用项增加报错.txt"; #被截取的原始文件
targetFile="result.log" # 截取后的日志保存位置
date_pattern = re.compile('\S*\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}') # 提取日期
flag=1
result = open(targetFile, "w")
with open(sourceFile.decode('utf-8'),"rb") as f:
for fLine in f:
matches = re.match(date_pattern, fLine)
if matches:
a=parse(matches.group(0),fuzzy=True)# 获取的时间如果是指定时间范围内的则保留
if parse(strdate) <= a and a <= parse(enddate):
flag=2
#print(fLine)
result.write(fLine.strip('\n'))
elif(flag==2): # 日期已经大于最大日期
break
else:
flag=1
elif(flag==2):# 读取非日期行记录
#print(fLine)
result.write(fLine.strip('\n'))
result.close()
- 点赞
- 收藏
- 关注作者
评论(0)