04_python小实例

1. 统计出access_log文件中排名前五的IP地址;

#先统计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]))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值