本文实例讲述了Python统计日志中每个IP出现次数的方法。分享给大家供大家参考。具体如下:
这脚本可用于多种日志类型,本人测试MDaemon的all日志文件大小1.23G左右,分析用时2~3分钟
代码很简单,很适合运维人员,有不足的地方请大家指出哦
#-*- coding:utf-8 -*- import re,time def mail_log(file_path): global count log=open(file_path,'r') C=r'\.'.join([r'\d{1,3}']*4) find=re.compile(C) count={} for i in log: for ip in find.findall(i): count[ip]=count.get(ip,1)+1 if __name__ == '__main__': print time.clock() num=0 mail_log(r'e:\MDaemon-20110329-all.log') R=count.items() for i in R: if i[1]>0: #提取出现次数大于0的IP print i num+=1 print '符合要求数量:%s耗时(%s)'%(num,time.clock())
输出结果如下:
('206.220.200.250', 8) ('66.40.52.37', 10) ('66.40.52.36', 5) ('207.115.11.41', 4) ('96.47.193.25', 9) ('96.47.193.24', 5) ('96.47.193.23', 17) ('72.32.181.92', 5) ('67.76.103.168', 10) ('64.34.161.218', 5) ('209.151.96.3', 7) ('61.135.168.0', 15) ('199.81.128.37', 2) ('199.81.128.36', 2) ('199.81.128.38', 2) ('198.45.19.170', 16) ('12.236.15.9', 4) ('66.96.142.52', 51) ('66.96.142.51', 55) ('66.96.142.50', 62) ('64.18.5.13', 1553) ('69.39.47.14', 9) ('64.18.5.11', 1557) ('64.18.5.10', 2752) ('210.72.13.102', 4) ('64.118.108.196', 4) ('66.60.192.44', 26) ('112.90.194.8', 4) ('198.49.244.245', 5) ('216.183.174.227', 5) ('195.245.230.131', 5) ('211.115.13.27', 5) ('222.247.123.217', 3) ('218.213.85.210', 2) ('201.236.205.96', 3) ('209.85.161.136', 2) ('173.165.120.188', 5) ('50.22.89.39', 7) ('219.129.20.168', 3) ('24.106.197.167', 5) ('207.190.225.69', 4) ('156.3.32.236', 5) ('209.92.157.161', 5) ('216.153.192.200', 5) ('76.77.158.130', 3) ('12.166.4.221', 5) ('66.46.182.96', 4) ('80.252.97.102', 4) ('66.46.182.94', 5) ('66.46.182.95', 4) ('124.14.5.3', 3) ('202.85.139.0', 5) ('207.173.160.17', 15) ('143.101.0.21', 5) ('65.75.75.59', 9) ('77.88.21.89', 53) ('216.128.11.30', 44)
希望本文所述对大家的Python程序设计有所帮助。

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 같은 작업에 적합합니다.

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...

경치 좋은 스팟 댓글 분석에서 Jieba Word 세분화 문제를 해결하는 방법은 무엇입니까? 경치가 좋은 스팟 댓글 및 분석을 수행 할 때 종종 Jieba Word 세분화 도구를 사용하여 텍스트를 처리합니다 ...

정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까? HTML 또는 기타 마크 업 언어를 다룰 때는 정규 표현식이 종종 필요합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.
