问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python 读取日志文件

发布网友 发布时间:2022-04-23 07:09

我来回答

2个回答

热心网友 时间:2022-04-18 10:04

# -*- coding:utf-8 -*-
from datetime import datetime as dt

with open('log.txt','r') as f:
    for i in f:
        if dt.strftime(dt.now(),'%Y-%m-%d') in i: 
            #判断是否当天时间
            if 'ERROR' in i and 'at com.mytijian' in i: 
                #判断此行中是否含有 'ERROR'及'at com.mytijian'
                if ((dt.now()-dt.strptime(i.split(',')[0], '%Y-%m-%d %H:%M:%S')).seconds)<45*60:
                    #判断时间是为当前45分钟内
                    print i

热心网友 时间:2022-04-18 11:22

#coding:utf-8
#file: FileSplit.py

import os,os.path,time

def FileSplit(sourceFile, targetFolder):
sFile = open(sourceFile, 'r')
number = 100000#每个小文件中保存100000条数据
dataLine = sFile.readline()
tempData = []#缓存列表
fileNum = 1
if not os.path.isdir(targetFolder): #如果目标目录不存在,则创建
os.mkdir(targetFolder)
while dataLine:#有数据
for row in range(number):
tempData.append(dataLine)#将一行数据添加到列表中
dataLine = sFile.readline()
if not dataLine :
break
tFilename = os.path.join(targetFolder,os.path.split(sourceFile)[1] + str(fileNum) + ".txt")
tFile = open(tFilename, 'a+')#创建小文件
tFile.writelines(tempData)#将列表保存到文件中
tFile.close()
tempData = []#清空缓存列表
print(tFilename + " 创建于: " + str(time.ctime()))
fileNum += 1#文件编号

sFile.close()

if __name__ == "__main__" :
FileSplit("access.log","access")
#coding:utf-8
#file: Map.py

import os,os.path,re

def Map(sourceFile, targetFolder):
sFile = open(sourceFile, 'r')
dataLine = sFile.readline()
tempData = {}#缓存列表
if not os.path.isdir(targetFolder): #如果目标目录不存在,则创建
os.mkdir(targetFolder)
while dataLine:#有数据
p_re = re.compile(r'(GET|POST)\s(.*?)\sHTTP/1.[01]',re.IGNORECASE) #用正则表达式解析数据
match = p_re.findall(dataLine)
if match:
visitUrl = match[0][1]
if visitUrl in tempData:
tempData[visitUrl] += 1
else:
tempData[visitUrl] = 1
dataLine = sFile.readline()#读入下一行数据

sFile.close()

tList = []
for key,value in sorted(tempData.items(),key = lambda k:k[1],reverse = True):
tList.append(key + " " + str(value) + '\n')

tFilename = os.path.join(targetFolder,os.path.split(sourceFile)[1] + "_map.txt")
tFile = open(tFilename, 'a+')#创建小文件
tFile.writelines(tList)#将列表保存到文件中
tFile.close()

if __name__ == "__main__" :
Map("access\\access.log1.txt","access")
Map("access\\access.log2.txt","access")
Map("access\\access.log3.txt","access")
#coding:utf-8
#file: Rece.py

import os,os.path,re

def Rece(sourceFolder, targetFile):
tempData = {}#缓存列表
p_re = re.compile(r'(.*?)(\d{1,}$)',re.IGNORECASE) #用正则表达式解析数据
for root,dirs,files in os.walk(sourceFolder):
for fil in files:
if fil.endswith('_map.txt'):#是rece文件
sFile = open(os.path.abspath(os.path.join(root,fil)), 'r')
dataLine = sFile.readline()

while dataLine:#有数据
subdata = p_re.findall(dataLine) #用空格分割数据
#print(subdata[0][0]," ",subdata[0][1])
if subdata[0][0] in tempData:
tempData[subdata[0][0]] += int(subdata[0][1])
else:
tempData[subdata[0][0]] = int(subdata[0][1])
dataLine = sFile.readline()#读入下一行数据

sFile.close()

tList = []
for key,value in sorted(tempData.items(),key = lambda k:k[1],reverse = True):
tList.append(key + " " + str(value) + '\n')

tFilename = os.path.join(sourceFolder,targetFile + "_rece.txt")
tFile = open(tFilename, 'a+')#创建小文件
tFile.writelines(tList)#将列表保存到文件中
tFile.close()

if __name__ == "__main__" :
Rece("access","access")
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
黑色芳纶哪家的好一些? 苏子叶我们中国叫什么苏子叶在中国叫什么 福州小车过户多少钱啊 福州车辆过户要多少钱 民生山西怎么查不到医疗保险信息 app查询养老金医疗保险方法介绍_百度... 太原医保查询平台(附入口二维码) 鉴定伤残等级去哪个部门 2024年中国铝业集团高管团队名单 2024中铝集团董事会成员一览 右枕位胎儿图怎么睡 一鸣楼宇对讲,刷卡开不了门,但分机能开,对讲能用,怎样维修? 幼儿常拉肚子,吃什么可以缓解症状? python处理日志的包有哪些 宝宝拉肚子应该吃什么食物 手机里的这个文件夹可以删除吗sina&#92;weibo&#92;SinaAppMarket&#92;tempdata? 宝宝拉肚子可以吃什么?求解答! \Baidu\tempdata\con.dat 这个是什么东东?如何删除? 墨迹天气文件夹里面有哪些具体子文件夹,麻烦发给我,不胜感谢!我把... 为什么删除了手机的baidu&#92;tempdata&#92;glb.dat这个文件夹还是有、重置系统以后还是有、到底是什么? Temp文件夹是什么文件夹? temp是什么文件夹 奔驰gl63amg v8发动机 2012款 发动机钢印号位置? 奔驰唯雅诺发动机号在哪 奔驰s300的发动机号码和车架号码在什么位置 奔驰e300的发动机号在哪个位置有图吗 奔驰r350的发动机号在哪里 奔驰600的发动机号在哪个位置 奔驰R350发动机号在哪里 奔驰c200发动机号码位置 奔驰ML350 车架号和发动机号的位置在哪? 奔驰C200发动机号码在哪? baidu tempdata里的东西是什么?可以删除么 宝宝拉肚子吃什么食物?家长在喂养宝宝时需要注意什么? PSP牧场物语 大家的心愿 金手指 指导 周岁宝宝拉肚子应该吃什么 宝宝拉肚子应该吃什么菜最好 PSP CMF 金手指 图放哪个文件夹 小孩子拉肚子吃什么好的快? 如何使用Python分析大数据 宝宝拉肚子刚好,应该吃什么? oppo手机进水了,怎么办? OPPO手机掉进水里面是否还能用? oppo手机进水后开机了怎么办? OPPO手机不小心进水了,充电的时候一会可以一会不可以怎么办? 中国人寿险种组合搭配 OPPOa8进水后能正常使用,可以充电吗? 健康险如何设计 OPPO手机进水不开机了还能修好吗手机进水了还能修吗? OPPO手机进水了,怎么办 商业健康险哪种好?大家有没有推荐的? 平安e生保长期医疗保险产品组合值不值得买?有哪些优缺点?有坑吗?