0
我有下面的代码很好用。它将我的IP地址从一个文件中取出并计算它们出现在日志文件中的次数。基于计数的字典排序
def count_ips():
fp=open('logfile','r')
store=[]
while 1:
line=fp.readline()
if not line:
break
if line[-1:] == '\n':
line=line[:-1]
data1=line.split('"')
data2=data1[0].split(' ')
store.append({'IP':data2[0],'Date':data2[3]+' '+data2[4],'Action':' '.join(data1[1:-2]),'Browser':' '.join(data1[-2:])})
fp.close()
count={}
for i in store:
if i['IP'] in count:
count[i['IP']] +=1
else:
count[i['IP']] =1
avg=0
cnt=0
for i in count:
avg+=count[i]
cnt+=1
avg=avg/cnt
print 'average hit is: %i' % avg
for i in count:
if count[i] > 10:
print i +' %i' % count[i]
count_ips()
我真的不知道我是如何得到这一点,但在这一节。在打印出来之前,我想按计数进行排序。底部最大的数字。
for i in count:
if count[i] > 10:
print i +' %i' % count[i]
我觉得在这一点上我只是看着事情错了,没有看到我的小难题的简单解决方案。
谢谢你的帮助! 杰森
有时我觉得我永远不会得到这个。非常感谢您的帮助! – JasonOrtiz