python读取文件with open_python 文件读写操作open和with的用法
# 找到日志文件log中超過20次的ip地址(安全漏洞的設置,1分鐘讀取數據1次,循環讀取,找到高危ip地址)
# 打開文件
# 依次讀取文件的每行
# 取到每行的ip地址 split
# 獲取到的ip值存放字典,存放次數{'ip1':1,'ip2':2,'ip3'} ip 是key,次數是value
# 循環字典,如果val 大于20,那么就輸出來
# 每分鐘監控上述內容
import time
point=0
while True: #一直循環
with open('access.log', encoding='utf-8') as f: # 當前狀態下的文件內容
f.seek(point)
ips = {}
for line in f:
ip = line.split()[0] # 取到ip地址 不填寫值,默認是空的情況下分隔1
if ip not in ips: # 判斷ip是否出現過,沒有出現過ip的次數就是1
ips[ip] = 1
else: # 出現過的話,次數在原來的基礎上+1
ips[ip] += 1
point=f.tell() #獲取當前讀的位置記錄下,下次從該位置再次讀
for k, v in ips.items():
if v >= 20:
print('有問題的ip地址是%s' % k)
time.sleep(60) #等待一分鐘
總結
以上是生活随笔為你收集整理的python读取文件with open_python 文件读写操作open和with的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python绘制好几个子图_python
- 下一篇: python外星人入侵游戏代码_Pyth