首页 > 编程语言 >Python千万级字典快速去重脚本

Python千万级字典快速去重脚本

时间:2022-12-26 20:39:09浏览次数:51  
标签:__ 文件 Python 千万级 file path txt os 字典


希望你每天醒来都是阳光的,不会因为别人的几句话,几个表情和几个举止影响自己的心情,好好生活,总会遇见美好的事。。。

----  网易云热评

 

一、下载地址

​https://github.com/teamssix/quchong​

 

二、下载pyhon脚本到本地

git clone https://github.com/teamssix/quchong.git

 

Python千万级字典快速去重脚本_去重工具

 

三、用法

1、必须python2环境

2、把去重的文件和该python脚本放到一起

3、新建几个有重复内容的文件,放到一个与python脚本不在一起的位置/root/123

Python千万级字典快速去重脚本_List_02

4、修改python脚本

#coding=utf-8



import sys, re, os

def file_merge():

input_path = "/root/123/" #此处填好自己的路径,注意最后的"/"

#使用os.listdir函数获取路径下的所有的文件名,并存在一个list中

#使用os.path.join函数,将文件名和路径拼成绝对路径

whole_file = [os.path.join(input_path,file) for file in os.listdir(input_path)]

content = []

#对于每一个路径,将其打开之后,使用readlines获取全部内容

for w in whole_file:

with open(w,'rb') as f:

content = content+f.readlines()

#构造输出的路径,和输入路径在同一个文件夹下,如果该文件夹内没有这个文件会自动创建

output_path = os.path.join(input_path,'合并所有文件.txt')

#将内容写入文件

with open(output_path,'wb') as f:

f.writelines(content)



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 = '/root/123/合并所有文件.txt'

out = '/root/123/去重所有文件.txt'

except Exception, e:

print 'error:', e

me = os.path.basename(__file__)

exit()



dictList = getDictList(dict)

dictRmdp = rmdp(dictList)

fileSave(dictRmdp, out)



if __name__ == '__main__':

file_merge()

main()

 

 

5、python2 quchong.py运行脚本,会在/root/123目录下生成去重文件

Python千万级字典快速去重脚本_List_03

6、工作原理 

将当前目录下所有文件合并为一个文件:合并所有文件.txt,对该文件进行去重,最终生成去重所有文件.txt,该文件就是最后想要的文件。

 

禁止非法,后果自负

欢迎关注公众号:web安全工具库

Python千万级字典快速去重脚本_去重工具_04

 

 

标签:__,文件,Python,千万级,file,path,txt,os,字典
From: https://blog.51cto.com/u_15288375/5970859

相关文章

  • [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg
    ​ 查看进程回忆上次内容上次先进程查询ps-elf查看所有进程信息ps-lf查看本终端相关进程信息杀死进程kill-9PID给进程发送死亡信号运行多个py......
  • python程序的流程控制结构
    文章目录​​一.程序的顺序结构​​​​二.程序的分支结构​​​​1.单分支结构​​​​2.二分支结构​​​​(1).基本形式​​​​(2).紧凑形式​​​​3.多分支结......
  • Python函数和代码复用
    文章目录​​一.函数的定义和使用​​​​1.函数的理解与定义​​​​(1).定义​​​​(2).作用​​​​(3).函数分类​​​​(3).基本语法​​​​2.函数的使用及调......
  • Python序列类型及操作
    文章目录​​一.序列类型定义(sequence)​​​​1.序列是具有先后关系的一组元素​​​​2.序列是一个基类类型,一般使用序列类型衍生出来的类型​​​​3.序号的定义​​......
  • Python字典类型及操作
    文章目录​​一.字典类型定义(dict)​​​​1.映射​​​​2.字典类型是映射的体现​​​​3.创建字典​​​​(1).直接创建字典​​​​(2).使用内置函数dict()创建字......
  • Python集合类型及操作
    文章目录​​一.集合类型概述(set)​​​​1.定义​​​​2.特点​​​​二.集合的创建与访问​​​​1.直接创建集合​​​​(1).定义​​​​(2).语法​​​​(3).......
  • Python网络爬虫概述
    文章目录​​一.掌握定向网络数据爬取和网页解析的基本能力​​​​二.python开发工具选择​​​​1.文本工具类IDE​​​​2.集成工具类IDE​​一.掌握定向网络数据爬......
  • Python文件与异常
    文章目录​​一.文件的基础知识​​​​1.文件与文件类型​​​​(1).定义​​​​(2).文件名的组成​​​​(3).文件类型​​​​2.目录与文件路径​​​​(1).目录......
  • Python安装教程
    一.Python需要安装什么因为Python是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。在Windows上写Python程序,放到Linux上也是能够运行的。把Python安装到你的电......
  • python解析rosbag
      #coding:utf-8#!/usr/bin/python#Extractimagesfromabagfile.importsysimportosimportroslib#roslib.load_manifest(PKG)importrosbagimpo......