我有一个50 MB的日志文件,其中数据以固定的时间间隔附加。 当我每隔5分钟在另一个应用程序中触发事件时,我需要在事件触发后获取当前时间,并且需要在指定时间范围内搜索日志文件中的特定单词“XXXX”(当前时间 - 当前时间1分钟) + 1分钟)
我的日志文件格式为:
[Fri Jun 17 15:26:57.451 2016] -FetchInfo XXXX
[Fri Jun 17 15:26:57.951 2016] -info result
这是我的代码:
import time
from datetime import datetime,timedelta
fp=open(r"D:\other\teraterm.log",'r')
data=fp.read()
fp.close()
c_time=datetime.now()
b_time=c_time-timedelta(seconds=60)
a_time=c_time+timedelta(seconds=60)
b_time=b_time.strftime("%a %b %d %H:%M:%S.%f")[:-3]+" "+str(datetime.now().year)
a_time=a_time.strftime("%a %b %d %H:%M:%S.%f")[:-3]+" "+str(datetime.now().year)
我有当前时间并在前后1分钟计算并在日志文件中转换为相同的格式。 在特定时间范围内提取数据并搜索的有效方法是什么? 我正在使用 WINDOWS和PYTHON 2.7 。 使用正则表达式是否合适?如果是这样的话,如何仅仅根据我提供的时间单独改变几分钟?否则,使用任何其他方法?
注意:我需要每隔5分钟加载一次文件,以便在文件中搜索追加的新数据