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

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

一、下载地址

https://github.com/teamssix/quchong

二、下载pyhon脚本到本地

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

0a2653c851af460fa595bd959398a8f1.png

三、用法

1、必须python2环境

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

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

0eacb84100b54626af849e6b562bf92a.png

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目录下生成去重文件

2d65d23f6d4748949b924e4057485923.png

6、工作原理

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

禁止非法,后果自负

目录
相关文章
|
10天前
|
存储 Shell 区块链
怎么把Python脚本打包成可执行程序?
该文档介绍了如何将Python脚本及其运行环境打包成EXE可执行文件,以便在不具备Python环境的计算机上运行。首先确保Python脚本能够正常运行,然后通过安装PyInstaller并使用`--onefile`参数将脚本打包成独立的EXE文件。此外,还提供了去除命令行窗口和指定可执行文件图标的详细方法。这些步骤帮助用户轻松地将Python程序分发给最终用户。
怎么把Python脚本打包成可执行程序?
|
4天前
|
安全 JavaScript 前端开发
自动化测试的魔法:如何用Python编写你的第一个测试脚本
【8月更文挑战第41天】在软件的世界里,质量是王道。而自动化测试,就像是维护这个王国的骑士,确保我们的软件产品坚不可摧。本文将引导你进入自动化测试的奇妙世界,教你如何使用Python这把强大的魔法杖,编写出能够守护你代码安全的第一道防护咒语。让我们一起开启这场魔法之旅吧!
|
10天前
|
存储 Java 开发者
python脚本实现原理
【9月更文挑战第4天】python脚本实现原理
25 5
|
7天前
|
运维 监控 API
自动化运维:使用Python脚本进行日常管理
【9月更文挑战第6天】在现代的IT环境中,自动化运维已成为提升效率、减少人为错误的关键。本文将介绍如何通过Python脚本简化日常的运维任务,包括批量配置管理和日志分析。我们将从基础语法讲起,逐步深入到脚本的实际应用,旨在为读者提供一套完整的解决方案,以实现运维工作的自动化和优化。
11 1
|
11天前
|
运维 Linux 测试技术
自动化运维:使用Python脚本简化日常任务
【8月更文挑战第34天】在快节奏的IT环境中,自动化运维成为提升效率、降低错误率的关键。本文以Python脚本为例,展示如何通过编写简单的脚本来自动化日常运维任务,如批量更改文件权限、自动备份数据等。文章不仅提供代码示例,还探讨了自动化运维带来的益处和实施时应注意的问题。
|
12天前
|
运维 监控 网络安全
自动化运维:使用Python脚本简化日常任务
【8月更文挑战第33天】在本文中,我们将深入探讨如何通过Python脚本来自动化执行常见的运维任务。从基础的服务器健康检查到复杂的部署流程,Python因其简洁和功能强大的特性,成为自动化工具的首选。文章将展示编写Python脚本的基本方法,并通过实际示例演示如何应用于真实场景,旨在帮助读者提升效率,减少重复性工作。
|
14天前
|
人工智能 数据挖掘 Python
Python 编程入门:从零基础到编写实用脚本
【8月更文挑战第31天】本文旨在为初学者提供一条清晰的学习路径,帮助他们从零开始掌握Python编程。文章将介绍Python的基础概念、语法规则以及如何通过实际项目来巩固知识。我们将避免枯燥的理论阐述,而是通过具体的代码示例和实用的练习任务,让学习过程既有趣又有成效。无论你是想自动化日常任务,还是渴望进入数据科学领域,这篇文章都将为你开启Python世界的大门。
|
11天前
|
运维 监控 Python
自动化运维:使用Python脚本简化日常任务
【8月更文挑战第34天】在数字化时代,高效运维成为企业竞争力的关键。本篇文章将引导你通过Python脚本实现自动化运维,从而提升工作效率和减少人为错误。我们将从简单的文件备份脚本开始,逐步深入到系统监控和自动报告生成,让你的日常工作更加轻松。
|
13天前
|
运维 监控 搜索推荐
自动化运维之宝典:Python脚本实现日常任务管理
在IT运维的日常工作中,重复性任务的自动化处理不仅能提高效率,还能减少人为错误。本文将介绍如何用Python编写简单脚本来自动化常见的运维任务,比如备份文件、监控系统资源和自动更新软件包。我们将一步步构建这些脚本,确保它们易于理解和扩展,最终目标是让读者能够自行定制脚本以适应自己的运维需求。 【8月更文挑战第31天】
|
14天前
|
运维 监控 数据可视化
自动化运维:使用Python脚本进行日志分析
【8月更文挑战第31天】当系统出现问题时,我们通常会查看日志寻找线索。然而,手动阅读大量日志既费时又易出错。本文将介绍如何使用Python脚本自动分析日志,快速定位问题,提高运维效率。我们将从简单的日志读取开始,逐步深入到复杂的正则表达式匹配和错误统计,最后实现一个自动化的日志监控系统。无论你是新手还是老手,这篇文章都将为你提供有价值的参考。让我们一起探索如何用代码解放双手,让运维工作变得更加轻松吧!