python练习:抓取统计log内ip数量

时间:2022-05-08 09:16:00
#!/usr/bin/python
#-*- coding: utf- -*- import os
import re rawfile = '/var/log/auth.log' def rawparse(rawfile):
ipdict = {}
fhandle = open(rawfile,'r')
regexp = re.compile('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}')
for line in fhandle:
result = regexp.findall(line)
if result and ipdict.has_key(result[]):
ipdict[result[]] = ipdict[result[]] +
elif result:
ipdict[result[]] =
print ipdict
fhandle.close() rawparse(rawfile)

可以更好的地方:

re,匹配ip地址,这样匹配的口径太大

循环读取文件不是for line in fhandle.readline()

findall返回的是列表