永发信息网

用python处理一含有300万条ip地址的文本,需得出每个ip在文本中重复的次数。得到一个ip , 次数的文本。

答案:2  悬赏:0  手机版
解决时间 2021-02-18 05:54
使用何种方式能够较为快速的处理出来。请详细的说明一下,谢谢大神!
最佳答案
300万条不是很多。你可以使用字典,或者是Counter来统计。
通常来讲字典大小略大的时候,效率会很低。所以就要优化算法。

如果想避开字典限制的问题,可以使用redis来记数。速度慢些。但是很靠谱。

处理速度取决于进程数量,如果多进程处理,最后再将数据合并就会快很多。如果使用REDI就不用合并了。REDIS可以采用多进程加多线程方式。

如果还想更快就采用CYTHON,或者是直接用MAP REDUCE,采用多计算机同时处理。绝对快。

还有一个更简单快速的办法,用C语言吧。将IP地址转换成整数。然后用C语言来记数,绝对快。编程也简单。转成整数的方法对于PYTHON也有效。
全部回答
import socket def get_ip():     s = socket.socket(socket.af_inet, socket.sock_dgram)     try:         # doesn't even have to be reachable         s.connect(('10.255.255.255', 0))         ip = s.getsockname()[0]     except:         ip = '127.0.0.1'     finally:         s.close()     return iplinux、windows均测试通过
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
淘宝卖家发假的物流单号,退款不处理,怎么办
推荐一部好看的韩剧吧!!像《想你》那种类型
江苏泰佳投资顾问有限公司在什么地方啊,我要
氨气和氧气反应 我要怎么根据反应条件判断生
天天足疗这个地址在什么地方,我要处理点事
一个面垂直与另一个面,那么这个面上的任意一
天宇路/泰安线(路口)在什么地方啊,我要过去
西藏与内地时间差是多少
泰森真的一拳800KG那么和WWE的人比起来呢?
杨家祎这个名字打分
一个直角三角形的三条边分别长3分米,4分米,以
广西温氏集团大猪的价格是多少?
2016年前超生的二孩还罚款吗
伊秀秀发沙龙地址有知道的么?有点事想过去
求下面阴影面积,这是一个半圆和平行四边形
推荐资讯
我的海信牌电信手机怎么换成4g卡就不能连网了
CO2供应不足最终可影响到绿色植物释放O2减少
连云港市飞翔房地产开发有限公司我想知道这个
寻一本女主叫龙悦魂穿到了一个叫天星大陆的月
不漂白直接染烟灰色会变什么颜色
网络重置之后怎么还原
为什么支付宝租自行车解冻资金后资金却没有到
锦汇饭店怎么去啊,有知道地址的么
你对中石化员工待遇满意吗?
谁知道北京的爱迪国际学校怎么样如题谢谢了
刚开始飞机的一个翅膀坏了,说一个翅膀照样飞
圣经对忍耐的章节
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?