涉及:读取写入文件,将文件转为字典;将字典内容转为元组;将元组进行排序,lambda表达式,html知识。


python处理日志 打印ip出现前十名

第一段将ip以空格分割,\n结尾。默认为0,每次重复一个ip地址+1 放到字典里。

第二段将字典转为元组

第三段做了前十位排序。第二个数大于第一个数,就调换位置。

第四段做了一个排位的list计数。

wKioL1ei4lmxe8W3AADsvrGF31A336.png

第一段:将ip和存在多少ip数,访到一个集合中

第二段:定义一个标示数,把集合变为元组,并定义ip数为key,做倒序,循环一次标识数+=1

wKioL1ei4qnjdOyKAACeG_iL-ls061.png


第一段:传入分析文件,空格划分,每重复一个值,+1,将字典变成元组返回。

第二段:冒泡排序,arr是ip地址。times 是想要多少个访问最多的ip地址。

第三段:将ip以及ip访问此数 写入html文件。

第四段:定义传参;定义传入的ip,以及此数;定义写入html的循环。

wKiom1ei43vzvQyiAACDEGe8SUA951.png

优化上一段代码。一共三个函数实现。

第一块:将ip和url进行分析。只有ip和url都重复 +1,用sorted替换掉了排序算法的代码,

定义了一个lambda表达式 将重复的值作为key,进行reverse反转。

第二块:将第一块的结果写入html文件。

第三块:定义了打开文件,以及写入的文件。执行这一块代码。

wKioL1ei5QeyI8wKAACRNBIQFM0841.png

最后呈现效果:

wKiom1ei6IHCOvSsAACJaWgZU10502.png