day4-Python学习笔记

Posted Flynn丶傅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day4-Python学习笔记相关的知识,希望对你有一定的参考价值。

监控日志,集合操作

监控日志脚本

#1.如果同一个ip地址在60秒内访问超过200次,那么就把ip加入黑名单
#需求分析:
#1. 60s 读一次文件
#2. 分割,取到第一个元素,ip地址
#3. 把所有的ip 加入到list里,如果ip次数超过200次,加入黑名单

import time
point = 0 #文件指针
while True:
ips = [] #存放所有ip地址
blk_set = set()#存放需要加入黑名单的ip
with open(r‘C:\Users\Administrator\Desktop\access.log‘,encoding=‘utf-8‘) as f:
f.seek(point)
for line in f:
ip = line.split()[0]
ips.append(ip)
if ips.count(ip)>30:
blk_set.add(ip)
for ip in blk_set:#这里防止IP重复加入黑名单
print(‘已经把%s加入黑名单‘ % ip)
point = f.tell()
time.sleep(30)

集合操作
#int string list tuple dict float bool set
#集合,天生去重
s = set()#空的集合
s2 = {‘1‘,‘2‘,‘3‘,‘3‘,‘4‘}
s3 = {‘1‘,‘2‘,‘5‘}
# s5 = [1,2,3,5,5,5,5]
# print(set(s5))
#集合是无序的,所有没有办法通过下标取值
# s2.add(‘5‘)#添加值
s2.remove(‘1‘)#删除值
s2.pop()#随机删一个值
# print(s2)
print(s2.intersection(s3)) #取交集
print(s3 & s2)#取交集
print(s3.union(s2))#取并集
print(s3|s2)#取并集
print(s2.difference(s3)) #取差集 s2存在,s3不存在的
 








































以上是关于day4-Python学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

day4-python的函数

Python之路,day4-Python基础

day4-python基础4 字符串操作

day4-python基础-运算符

DOM探索之基础详解——学习笔记