【发布时间】:2016-03-30 07:52:05
【问题描述】:
专家,我正在尝试计算邮件日志文件中的电子邮件地址和他们的重复次数,我可以使用正则表达式(re.search)或(re.match)以某种方式进行计算,但我正在寻找这个与我目前正在涉足的(re.findall)一起完成......希望有任何建议......
1) 代码行 ...
# cat maillcount31.py
#!/usr/bin/python
import re
#count = 0
mydic = {}
counts = mydic
fmt = " %-32s %-15s"
log = open('kkmail', 'r')
for line in log.readlines():
myre = re.search('.*from=<(.*)>,\ssize', line)
if myre:
name = myre.group(1)
if name not in mydic.keys():
mydic[name] = 0
mydic[name] +=1
for key in counts:
print fmt % (key, counts[key])
2) Output from the Current code..
# python maillcount31.py
root@MyServer1.myinc.com 13
User01@MyServer1.myinc.com 14
【问题讨论】:
-
您没有确切说明问题出在哪里,因此在不分析代码的情况下,我想说您想要两件事:1. 一个遍历所有电子邮件地址外观的函数,以及2.
collections.Counter计算它们。
标签: python