1 import re 2 from collections import Counter 3 4 def count_patt(fname, patt): 5 result = Counter() 6 cpatt = re.compile(patt) 7 8 with open(fname) as fobj: 9 for line in fobj: 10 m = cpatt.search(line) 11 if m: 12 key = m.group() 13 result.update([key]) 14 15 return result 16 if __name__ == '__main__': 17 fname = 'access_log' 18 ip = '^(\d+\.){3}\d+' 19 ip_count = count_patt(fname, ip) 20 print(ip_count) 21 print('*' * 30) 22 print(ip_count.most_common(5)) # 前5名
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。