python分析日志文件_python简单分析日志

本文介绍了一段Python脚本,用于从日志文件中统计唯一UID对应的a=RUN出现的次数。该脚本使用正则表达式来提取UID,并通过字典确保每个UID仅被计数一次。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:通过python 统计uid不同的,并且是"a=RUN"的次数#!/usr/bin/python

# -*- coding:utf-8 -*-

##exapmle:统计‘a=RUN’的次数,并且UID不能重复

##123.234.40.34 - - [21/Apr/2014:11:22:51 +0800] "GET /aaa.php?uid=S-1-5-21-1629627082-3848928471-3880619898-500&a=OFFL&c=24120947886984&v=1.12.144 HTTP/1.1" 444 0 "-"

import os

import sys

import time

import re

###初始化

c1=0

d1={}

re1=r'uid=(.*?)&'

yesterday=time.strftime('%Y-%m-%d',time.localtime(time.time()-24*60*60))

###读取日志文件

fileHandle=open(sys.argv[1],'r+')

fileList=fileHandle.readlines()

###遍历每行内容

for fileLine in fileList:

###统计‘a=RUN’的次数,并且UID不能重复

if fileLine.find('a=RUN') != -1:

###通过正则匹配,获取UID值,返回是list类型,利用字典处理uid重复问题

uid = re.findall(re1, fileLine, re.S)

if uid[0] in d1 :

d1[uid[0]]+=1

else:

d1[uid[0]]=1

c1+=1

print 'RUN = %d' % c1

fileHandle.close()

###将结果以追加方式写入文件

result=yesterday+' RUN= '+str(c1)+'\n'

anlyResult=open('anlyResultFile.txt','a')

anlyResult.write(result)

anlyResult.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值