python脚本实现统计日志文件中的ip访问次数代码分享
2023-06-13 09:15:40 时间
适用的日志格式:
106.45.185.214--[06/Aug/2014:07:38:59+0800]"GET/HTTP/1.0"20010"-""-" 171.104.119.22--[06/Aug/2014:08:55:01+0800]"GET/HTTP/1.0"20010"-""-" 27.31.238.242--[06/Aug/2014:09:43:19+0800]"GET/HTTP/1.0"20010"-""-" 218.65.202.131--[06/Aug/2014:10:33:59+0800]"GET/HTTP/1.0"20010"-""-"
以上为nginx的日志,本程序只适合用于IP在开头并用空格分开的这种格式。
实例代码:
importsys classLog: def__init__(self,filename,dic,count): self.filename=filename self.dic=dic self.count=count defparse(self): i=1 f=file(self.filename) whileTrue: line=f.readline() iflen(line)==0: break ip=line.split("") ifip[0]indic: self.dic[ip[0]]=self.dic[ip[0]]+1 else: self.dic[ip[0]]=i soredic=sorted(self.dic.items(),key=lambdad:d[1],reverse=True) counts=0; foriteminsoredic: ifcounts==int(self.count): break print("IP:%sTotalTimes:%s"%(item[0],item[1])) counts=counts+1 f.close() if__name__=="__main__": iflen(sys.argv)<3: print("usage:log.pylog.logtoptimes\nexamplelog.pylog.log20\ncodebyiswin") sys.exit() dic={} log=Log(sys.argv[1],dic,sys.argv[2]) log.parse()
相关文章
- 在pycharm中如何新建Python文件?_github下载的python源码项目怎么用
- python解压bz2文件命令,在Python中解压缩.bz2文件
- python判断linux中文件是否存在_Python判断文件是否存在的三种方法
- python的sorted函数
- 【说站】python zipfile模块的文件操作
- 【说站】python tempfile创建文件
- python 跨进程通信可以使用哪些消息中间件?
- Python标识符的命名规则,下列哪些是对的?_python标识符不能使用关键字
- python输出unicode编码_Python以utf8编码读取文件
- python分析人口出生率代码_国家统计局居然也能用的上Python?人口数据Python脚本了解一下?…[通俗易懂]
- Python保存json_python保存json文件
- python制作一个【搜索工具】,可搜索隐藏文件、系统文件、搜索速度一绝「建议收藏」
- python下几种打开文件的方式(你习惯的不一定是最好的)
- Python文件名后缀_python获取目录下所有文件的文件名
- python做微信回复机器人_Python自动化脚本
- 分享Python网络爬虫过程中编码和解码的一个库
- 【python小脚本】从数据库获取文件路径通过scp下载本地
- Windows安装和配置Python及pip.ini文件配置
- python套接字多线程文件传输(大文件切割) - 协程async动态添加任务
- python-Python与PostgreSQL数据库-PostgreSQL数据库的基本知识(一)
- 网络工程师学Python-28-文件写入和创建
- python全栈开发-Day4 列表、数据运算详解编程语言
- Linux创建Python文件的步骤(linux新建python文件)
- Python 中最快解压 zip 文件的方法
- 如何在Linux中安装Python?(linux安装python)
- Python文件操作实现代码