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大文件去重_python大ip文件排重相关推荐

  1. python怎么编辑文件夹_python创建修改文件

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd() 返回指定目录下的所有文件和目录 ...

  2. python 解析xml格式_Python解析XML文件

    1.概述 Python有三种方法解析XML:SAX,DOM,以及ElementTree: 1.SAX (simple API for XML ) python 标准库包含SAX解析器,SAX用事件驱动 ...

  3. python设置文件权限_PYTHON学习之文件操作;

    PYTHON学习之文件操作: 文件内容替换 for line in flielinput.input("filepath",inplace=1): line = line.repa ...

  4. python 批量下载依赖_python通过txt文件批量安装依赖包的实现步骤

    python通过txt文件批量安装依赖包的实现步骤 如果要用某个开源框架,需要安装多个依赖包可以如下操作: 如依赖文件形式如下(可以不要版本号): txt文件名为requirements.txt,内容 ...

  5. python目录及文件操作_python路径及文件操作,10.22,10.27

    csv 和ini文件处理 作者: 一个小菜鸡 csv常见格式 nums     options      arguments 逗号分割值 comma-Separated Values CSV是一个被行 ...

  6. python os读取文件内容_python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

  7. python修改文件内容_python批量修改文件夹及其子文件夹下的文件内容

    前言:前几天我看一位同学要修改很多文件中的数据,该文件数据很规律,一行只有三个数,需要将每行最后一个数字改为负数,但文件有上千个,分布在每个文件夹下面以及它的多级子文件夹下,看他用excel手动改数据 ...

  8. python十行代码实现文件去重,去除重复文件的脚本

    导入依赖 '''导入依赖'''from pathlib import Pathimport filecmp 函数说明 ''' filecmp.cmp(path1, path2, shallow=Tru ...

  9. python文件分发_python 写一个文件分发小程序

    一.概述 该小程序实现从源端到目标端的文件一键拷贝,源端和目标段都在一台电脑上面,只是目录不同而已 二.参数文件说明 1. settings.txt的说明 a. 通过配置settings.txt,填源 ...

最新文章

  1. 弧形背景html,JS实现带圆弧背景渐变效果的导航菜单代码
  2. HDU2022 海选女主角
  3. mac php安装mysql扩展_(MAC) PHP扩展安装
  4. Android NDK 内存泄露检测
  5. IOS学习之蓝牙4.0
  6. echarts中如何使用timeline组件
  7. 在 Java 中,为什么需要创建内部类对象之前需要先创建外部类对象
  8. LiveVideoStack线上交流分享 (十) —— 开源声码器WORLD在语音合成中的应用
  9. 苹果加入AOM联盟 AV1获全主流生态平台支持
  10. bat窗口大小设置_Tomcat的JVM和连接数设置
  11. python多个main方法_Python,main方法未运行(同一文件中有多个类)
  12. html怎么加断点快捷键,HTML添加断点 - osc_vyztkm1b的个人空间 - OSCHINA - 中文开源技术交流社区...
  13. [C++] - C++11 多线程 - Condition Variable
  14. 系统设计的原则、特点与任务
  15. selenuim使用cookie登录京东
  16. html5 m3u8 直播,html5 让video支持m3u8播放
  17. PhantomJS not found on PATH
  18. 怎么让蜘蛛喜欢你的网站
  19. eclipse java1.8_不同版本Eclipse对JDK版本要求
  20. 一篇文章,搞懂自动化行业现状

热门文章

  1. Java虚拟机和Dalvik虚拟机的区别
  2. 【bzoj5071】[Lydsy十月月赛]小A的数字 乱搞
  3. php反射API 获取属性/注释/方法 执行方法 实例
  4. DB2 设置CodePage
  5. 有关判读flex 模板载入是否结束的一些问题。
  6. 【个人笔记】OpenCV4 C++ 快速入门 12课
  7. win10企业版永久关闭自动更新
  8. Python爬虫实战源码合集(持续更新)
  9. and5.1PowerManagerService深入分析(四)PMS与Display模块
  10. 数据结构与算法总结(八股文)