标签:技术分享 alt log point 读写 写入内容 bsp 基本 list
1、当前文件指针指到哪,seek(0):指到文件的最前面
2、read与readlines文件指针到文件的最后一行;readline文件指针到第二行
练习题:#-*-coding:utf-8-*-
#需求:每分钟监控服务器日志,IP请求超过200次的,加入黑名单
#
#1、读文件,获取到每行的内容,open readlines
#2、找到IP,按照空格分隔字符串,取第一个元素,split
# 3、把IP存到字典里,每个IP出现一次,IP次数就+1
# 4、判断IP次数是否大于200,加入黑明单
import time
point=0
while True:
ips={}
f=open(‘access.log‘,encoding=‘utf-8‘)
f.seek(point)
for line in f.readlines():
#获取所有的IP和次数存在字典里
ip=line.split()[0]
#print(ip)
if ip not in ips:
ips[ip]=1
else:
ips[ip]+=1
point=f.tell()#记录读完之后的文件指针
for k,count in ips.items():
if count>200:
print(‘[%s]加入黑明单 ‘%ip)
#print(ips)
time.sleep(60)
高效读取文件
标签:技术分享 alt log point 读写 写入内容 bsp 基本 list
原文地址:https://www.cnblogs.com/qiaomeiling/p/9984517.html