python 高效去重复 支持GB级别大文件的示例代码

yipeiwu_com7年前Python基础

如下所示:

#coding=utf-8
 
import sys, re, os
 
def getDictList(dict):
  regx = '''[\w\~`\!\@\#\$\%\^\&\*\(\)\_\-\+\=\[\]\{\}\:\;\,\.\/\<\>\?]+'''
  with open(dict) as f:
    data = f.read()
    return re.findall(regx, data)
 
def rmdp(dictList):
  return list(set(dictList))
 
def fileSave(dictRmdp, out):
  with open(out, 'a') as f:
    for line in dictRmdp:
      f.write(line + '\n')
 
def main():
  try:
    dict = sys.argv[1].strip()
    out = sys.argv[2].strip()
  except Exception, e:
    print 'error:', e
    me = os.path.basename(__file__)
    print 'usage: %s <input> <output>' %me
    print 'example: %s dict.txt dict_rmdp.txt' %me
    exit()
 
  dictList = getDictList(dict)
  dictRmdp = rmdp(dictList)
  fileSave(dictRmdp, out)
   
if __name__ == '__main__':
  main()

以上这篇python 高效去重复 支持GB级别大文件的示例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 并发编程 多路复用IO模型详解

python 并发编程 多路复用IO模型详解

多路复用IO(IO multiplexing) 这种IO方式为事件驱动IO(event driven IO)。 我们都知道,select/epoll的好处就在于单个进程process就...

python中pandas.DataFrame对行与列求和及添加新行与列示例

本文介绍的是python中pandas.DataFrame对行与列求和及添加新行与列的相关资料,下面话不多说,来看看详细的介绍吧。 方法如下: 导入模块: from pandas i...

编写Python脚本把sqlAlchemy对象转换成dict的教程

在用sqlAlchemy写web应用的时候,经常会用json进行通信,跟json最接近的对象就是dict,有时候操作dict也会比操作ORM对象更为方便,毕竟不用管数据库session的...

Django多数据库的实现过程详解

有些项目可能涉及到使用多个数据库的情况,方法很简单。 1.在settings中设定DATABASE 比如要使用两个数据库: DATABASES = { 'default': {...

python sorted方法和列表使用解析

python sorted方法和列表使用解析

这篇文章主要介绍了python sorted方法和列表使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、基本形式列表有自己的...