如何使用python从日志文件(文本文件)检索开始和结束时间
我有一堆日志文件,我想从所有日志文件中获取开始和结束时间,并使用python导出到excel。日志文件如下所示:如何使用python从日志文件(文本文件)检索开始和结束时间,python,time,Python,Time,我有一堆日志文件,我想从所有日志文件中获取开始和结束时间,并使用python导出到excel。日志文件如下所示: with open('file.log') as file: log = file.read() start = re.search(r'opened\s.*\son', log).group().replace('opened ', '').replace(' on', '') end = re.search(f'closed\s.*$', log).gr
with open('file.log') as file:
log = file.read()
start = re.search(r'opened\s.*\son', log).group().replace('opened ', '').replace(' on', '')
end = re.search(f'closed\s.*$', log).group().replace('closed ', '')
print(f'Start: {start} End: {end}')
C:\Program Files\App.exe版本15.0.1711.3912于M40001A于19年9月12日10:08:13打开
[12/09/2019 10:08:13.723]3
19772低频
NORMALNONE
CONFIGNONE
[12/09/2019 10:08:13.727]4
19772低频
NORMALNONE
CONFIGNONE
[12/09/2019 10:08:13.727]5
19772LOW_FREQ
NORMALNONE
CONFIGNONE
[12/09/2019 10:08:13.727]6
19772LOW_FREQ
NORMALNONE
DATANONE
曝光前变量列表为空。
C:\Program Files\App.exe版本15.0.1711.3912于19年9月12日10:21:11关闭
谢谢如果所有日志看起来都一样,并且您已经将文件加载为
txt
以下代码提取开始和结束时间
txt=”“”C:\Program Files\App.exe版本15.0.1711.3912于M40001A[12/09/2019 10:08:13.723]319772低频正常非配置无[12/09/2019 10:08:13.727]419772低频正常非配置无[12/09/2019 10:08:13.727]519772低频正常非配置无[12/09/2019 10:08:13.727]619772 Low_FrequencNormalNoneDataNonePre-Exposure变量列表为空。C:\Program Files\App.exe版本15.0.1711.3912关闭19年9月12日10:21:11”“”
start=“”.join(txt.split(“opened”)[1]。split(“”[:2])
end=”“.join(txt.split(“”[-2:])
#end=txt[-17:]#可选
对于第二部分,您可以列出目录中的所有日志文件并提取开始和结束
def-fun(txt):
start=“”.join(txt.split(“opened”)[1]。split(“”[:2])
end=”“.join(txt.split(“”[-2:])
返回[开始,结束]
lst=[f表示os.listdir(“log_文件夹”)中的f,如果f[-4:][=>.log”]
现在需要循环lst
打开每个文件,并对文本应用fun
。假设您有一个有趣的阅读日志
,那么您就可以
out=[fun(读取日志(f))表示lst中的f]
作为pd进口熊猫
df=pd.DataFrame(out,columns=[“start”,end”])
df.to_csv(“from_logs.csv”,index=False)
您可以使用以下内容解析日期:
with open('file.log') as file:
log = file.read()
start = re.search(r'opened\s.*\son', log).group().replace('opened ', '').replace(' on', '')
end = re.search(f'closed\s.*$', log).group().replace('closed ', '')
print(f'Start: {start} End: {end}')
这将得到:
>>> Start: 12/09/19 10:08:13 End: 12/09/19 10:21:11