首页 > 编程语言 > 详细

python大ip文件排重

时间:2018-04-02 21:09:31      阅读:239      评论:0      收藏:0      [点我收藏+]
1 需求:

整理个IP列表,需要将IP去重下,统计一共多少来源

本来想直接shell命令解决,简单的 sort 管道 uniq  然后wc下

无奈文件太大,条数多,处理效率不堪

文件大概5G,几亿条数据吧

技术分享图片


2 PLAN A  未遂

 shell处理:

 #time sort ip | uniq | wc -l

然后没啥反应了。。。。 其实是在处理中,最后被我ctrl c了

技术分享图片


3 PLAN B

没办法写个简单的python,用列表的排重特性(需要注意文件读取的方法,不要将文件一次全部读取到内存。。。):

#! /usr/bin/env python 
d={}
with open('ip', 'rb') as f:
    for line in f:
        d[line] = 'ip'
print  len(d)
time python read.py

然后就很快结束了:

技术分享图片


4 结束

简单看下资源消耗情况:


技术分享图片



优势还是挺明显的,以小见大吧,希望python可以帮助大家解决工作中的实际问题,不论大小。



python大ip文件排重

原文:http://blog.51cto.com/welcomeweb/2093946

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!