#先统计IP的个数
ips = {}
with open(file='access_log', mode='r') as log:
for lines in log.readlines(): #输出为列表
# lines.split()[0]
if not lines.split()[0] in ips.keys(): #如果列表中索引为0的元素(实质上就是IP),在字典的键里匹配不到
ips.setdefault(lines.split()[0], 1) #那么就把字典里的键值对里的值设为1, 记为1个,为后边的统计提供初始值
# print(ips)
else:
ips[lines.split()[0]] += 1 #可以匹配到,值就加1(最后的结果就是统计的结果);lines.split()[0]表示字典里的键;0表示列表里的索引
# print(ips)
#根据值进行冒泡排序
ips_list = []
for element in ips.items(): #把字典转化为列表
ips_list.append(element)
for i in range(len(ips_list)):
for j in range(len(ips_list) - 1):
if ips_list[j][1] < ips_list[j+1][1]:
ips_list[j], ips_list[j+1] = ips_list[j+1], ips_list[j]
print(dict(ips_list[:5]))