python大ip文件排重

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可以帮助大家解决工作中的实际问题,不论大小。

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

时间: 2024-11-01 11:25:44

python大ip文件排重的相关文章

python实现对文件批量重命名(用到正则表达式和os.path模块)

# 成功实现批量文件重命名# 具体是批量截取了部分有用的数据用来重命名# 用到了正则表达式 import osimport os.pathimport re path = 'C:/Users/Administrator/Desktop/新建文件夹 (2)/讲义' #注意必须是正斜杠/,反斜杠\在python是转义字符 # 三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字 for parent, dirnames, filenames in os.walk(path)

Python3 模拟MapReduce处理分析大数据文件——《Python宝典》

最近买了一本<Python宝典>在看,此书所讲Python知识的广度明显,但是深度略显不足,所以比较适合入门及提高级的读者来看.其中对于Python大数据处理一章的内容比较有兴趣,看明白了以后,我根据书上提供的案例对源代码进行了修改,也实现了模拟MapReduce的过程. 目标:从Apache的用户访问日志access.log中统计出页面资源的访问量.我们假设这个文件体积十分巨大. access中的信息结构:66.249.68.43 - - [04/Aug/2011:01:06:48 +080

海量文件查重SimHash和Minhash

SimHash 事实上,传统比较两个文本相似性的方法,大多是将文本分词之后,转化为特征向量距离的度量,比如常见的欧氏距离.海明距离或者余弦角度等等.两两比较固然能很好地适应,但这种方法的一个最大的缺点就是,无法将其扩展到海量数据.例如,试想像Google那种收录了数以几十亿互联网信息的大型搜索引擎,每天都会通过爬虫的方式为自己的索引库新增的数百万网页,如果待收录每一条数据都去和网页库里面的每条记录算一下余弦角度,其计算量是相当恐怖的. 我们考虑采用为每一个web文档通过hash的方式生成一个指纹

python基础之文件读写

python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名,返回的是一个列表:os.listdir("指定路径") 函数用来删除一个文件:os.remove("文件路径") 删除多个目录:os.removedirs(&

python 输入 和文件操作

1.python 输入 Python3提供了一个input(),可以让用户输入字符串,并存放到一个变量里.如下所示,用户从键盘输入 1 ,以回车结束,输入的 "1"以字符串的形式存在了 a 变量中. >>> a=input("Please input") Please input1 >>> a '1' >>> 2.python 文件操作 一.文件操作方法 1.os.mknod("test.txt&quo

PYTHON学习之文件操作;

文件内容替换for line in flielinput.input("filepath",inplace=1):line = line.repace("oldtext","newtext")print line, python中对文件.文件夹(文件操作函数)的操作需要涉及到OS模块和shutil模块.1.得到当前工作目录,即当前PYTHON脚本工作的目录路径:os.getcwd()2.返回指定目录下的所有文件和目录名:os.listdir()3

Python大数据处理模块Pandas

Python大数据处理模块Pandas [这篇转载自CSDNchengxuyuanyonghu的博客:http://blog.csdn.net/chengxuyuanyonghu/article/details/54956207] 目录 读取数据 索引 选择数据 简单运算 import pandas as pd read_csv to_csv 数据框操作 一            创建对象 二            查看数据 三            选择 四            缺失值处理

simhash文章排重

原文链接:https://www.cnblogs.com/baochuan/p/9089244.html 背景 提升产品体验,节省用户感知度.--想想,如果看到一堆相似性很高的新闻,对于用户的留存会有很大的影响. 技术方案1.信息指纹算法 思路:为每个网页计算出一组信息指纹(Fingerprint).比较两个网页相同信息指纹数量,从而判断内容的重叠性. 步骤: 1)提取网页正文信息特征(通常是一组词),并进行向量化处理(权重算法:如nf/df). 2)取前N个信息特征,进行MD5哈希,得到信息指

近期分享干货,使用python实现语音文件的特征提取方法

Python编程语言无疑是人工智能最重要的语言之一,但是其中语音识别是当前人工智能比较热门的方向,百度的小度机器人.阿里的天猫精灵等其他各大公司都推出了各自的语音助手机器人,其识别算法主要是由RNN.LSTM.DNN-HMM等机器学习和深度学习技术做支撑.但训练这些模型的第一步就是将音频文件数据化,提取当中的语音特征. MP3文件转化为WAV文件 录制音频文件的软件大多数都是以mp3格式输出的,但mp3格式文件对语音的压缩比例较重,因此首先利用ffmpeg将转化为wav原始文件有利于语音特征的提