返回顶部
首页 > 资讯 > 后端开发 > Python >python实现MD5进行文件去重的示例代码
  • 614
分享到

python实现MD5进行文件去重的示例代码

pythonMD5文件去重pythonMD5去重 2022-06-02 22:06:51 614人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录前言工作原理代码前言 工作中偶尔会遇到文件去重的事情,收到一大堆文件,名称各不相同,分析文件的时候发现有不少重复的文件,导致工作效率低下,那么,这里就写了一个python脚本实现文件去重功能 工作原理 脚本会检查

目录
  • 前言
  • 工作原理
  • 代码

前言

工作中偶尔会遇到文件去重的事情,收到一大堆文件,名称各不相同,分析文件的时候发现有不少重复的文件,导致工作效率低下,那么,这里就写了一个python脚本实现文件去重功能

工作原理

脚本会检查你给出的文件路径下的所有文件,然后计算每个文件的MD5值,并将其加入到一个列表中。

  • 如果某文件的MD5值不在列表中,就认定其是我们需要的文件,脚本会在桌面新建一个名为“去重结果”的文件夹,并将其复制到里面去。
  • 如果某文件的MD5值在列表中,就认定其不是我们需要的文件,不对其做任何处理。
  • 代码可以直接运行,无需做任何修改(除了安装可能缺少的库文件)

代码


import os
import shutil
import hashlib


# 对文件去重
# 计算每个文件的md5值,据此进行去重
def only_one(test_path):
    md5_list = []
    count = 0
    for current_folder, list_folders, files in os.walk(test_path):
        for file in files:
            file_path = current_folder + '\\' + file  # 获取每个文件的路径
            f = open(file_path, 'rb')  # 开始计算每个文件的md5值
            md5obj = hashlib.md5()
            md5obj.update(f.read())
            get_hash = md5obj.hexdigest()
            f.close()
            md5_value = str(get_hash).upper()
            # 开始去重
            if md5_value in md5_list:  # 如果这个文件的md5值曾经出现过,就不对它做任何处理
                count += 1
                print('\033[31m[-] 发现重复文件:\033[0m' + str(file))
            else:
                md5_list.append(md5_value)  # 如果这个文件的md5值不存在列表中,就添加进列表中
                shutil.copy(file_path, path1)
    print('\033[31m[-] 共发现重复文件:{}个\033[0m'.fORMat(count))


if __name__ == '__main__':
    print('\033[4;33m[+] 此脚本会检查指定路径下的所有文件,通过计算文件的MD5值进行去重\033[0m')
    print('\033[4;33m[+] 去重后的文件会复制到桌面新文件夹中,源文件不会丢失\033[0m')
    path = input('\033[34m[+] 请输入文件夹地址:\033[0m')
    os.chdir(path)

    # path1 用来存放所有的去重结果
    desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')  # 获取桌面路径
    path1 = os.path.join(desktop_path, '去重结果')
    os.makedirs(path1)

    only_one(path)
    print('\033[32m[-] 现有非重复文件共计:{}个\033[0m'.format(len(os.listdir(path1))))

在这里插入图片描述

到此这篇关于Python实现MD5进行文件去重的示例代码的文章就介绍到这了,更多相关python MD5文件去重内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python实现MD5进行文件去重的示例代码

本文链接: https://lsjlt.com/news/11089.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python实现MD5进行文件去重的示例代码
    目录前言工作原理代码前言 工作中偶尔会遇到文件去重的事情,收到一大堆文件,名称各不相同,分析文件的时候发现有不少重复的文件,导致工作效率低下,那么,这里就写了一个python脚本实现文件去重功能 工作原理 脚本会检查...
    99+
    2022-06-02
    python MD5文件去重 python MD5去重
  • python如何实现MD5进行文件去重
    本篇内容主要讲解“python如何实现MD5进行文件去重”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python如何实现MD5进行文件去重”吧!目录前言工作原理代码前言工作中偶尔会遇到文件去重...
    99+
    2023-06-20
  • 8行代码实现Python文件去重
    目录需求描述撸代码ing需求描述 上周突然接到一个任务,要通过XX网站导出XX年-XX年之间的数据,导出后的文件名就是对应日期,导出后发现,竟然有的文件大小是一样,但文件名又没有重复...
    99+
    2024-04-02
  • Python实现删除重复文件的示例代码
    此程序主要是针对某个目录下的全部文件进行筛选,会删除重复的文件。 原理很简单,会计算每个文件的哈希,将哈希存入一个字典,文件名对应哈希。 import os import hashl...
    99+
    2023-02-14
    Python删除重复文件 Python删除文件 Python重复文件
  • java实现MapReduce对文件进行切分的示例代码
    比如有海量的文本文件,如订单,页面点击事件的记录,量特别大,很难搞定。那么我们该怎样解决海量数据的计算? 1、获取总行数2、计算每个文件中存多少数据3、split切分文件4、redu...
    99+
    2024-04-02
  • Python实现清理重复文件功能的示例代码
    目录前置查找、删除重复文件GUI制作GUI界面设计逻辑设计效果展示在电脑上或多或少的存在一些重复文件,体积小的倒没什么,如果体积大的就很占内存了,而如果自己一个一个查看文件是否重复,...
    99+
    2024-04-02
  • C#实现对文件进行加密保护的示例代码
    目录实践过程效果代码实践过程 效果 代码 public partial class Form1 : Form { public Form1() { ...
    99+
    2022-12-31
    C#实现文件加密 C#文件加密 C# 加密
  • SpringBoot实现Mysql使用MD5进行密码加密的示例
    项目开发中为了保护用户隐私安全,一般都会用MD5进行密码加密 以下就简单举例SpringBoot 实现Mysql使用MD5进行密码加密做一个简单的例子 看下数据库,这边简单做了用户表...
    99+
    2024-04-02
  • Python MD5文件生成码的实例分析
    Python MD5文件生成码的实例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。当前,就算是没有几百种,也有几十种可用的  MD5发行版本;显然,我不能在本文中...
    99+
    2023-06-17
  • 13行python代码实现对微信进行推送消息的示例代码
    目录单人推送一对多推送Python可以实现给QQ邮箱、企业微信、微信等等软件推送消息,今天咱们实现一下Python直接给微信推送消息。 这里咱们使用了一个第三方工具pushplus ...
    99+
    2024-04-02
  • Python实现自动整理文件的示例代码
    目录一、前言二、遍历文件三、移动文件四、自动整理文件1、将图片集中存放2、同步整理文件3、获取文件属性一、前言 今天我们就带大家来实现一下文件自动整理的操作。在我们日常生活中,文件总...
    99+
    2024-04-02
  • Python实现批量文件整理的示例代码
    目录引言 一、准备工作二、制作 excel 的文件清单三、文件的批量重命名四、文件的批量删除引言  批量文件整理一直是日常工作中令人头疼的事,使用 Python 进行大批量文件整理,...
    99+
    2024-04-02
  • Java实现去除文档阴影的示例代码
    目录一、前言二、实现原理1. 图像2. 灰度转换3.阈值处理三、代码实现1.读取图像2.阈值处理一、前言 文稿扫描大家用的都比较频繁、想是各种证件、文件都可以通过扫描文稿功能保存到手...
    99+
    2022-12-08
    Java去除文档阴影 Java去除阴影 Java 阴影
  • python实现进制转化的示例代码
    做题思路 (1)掌握十进制转化为其他进制的方法 (2)分析和解决如何将整数和小数分离,以及他们的存储方式。(3)如何设计python函数去实现它们 (4)了解辗转相除法和列表如何运用...
    99+
    2024-04-02
  • Python实现图像去雾效果的示例代码
    目录修改部分训练测试数据集下载地址修改部分 我利用该代码进行了去雾任务,并对原始代码进行了增删,去掉了人脸提取并对提取人脸美化的部分,如下图 增改了一些数据处理代码,Create_...
    99+
    2024-04-02
  • Python实现为PDF去除水印的示例代码
    目录前言原理特色成果安装依赖代码想法前言 为什么做出这个? 就是有时候从网上下载的资料中的pdf有水印,看着不舒服。 比如说我从网上下载的试卷,然后去打印店打印,打印之后水印看着很不...
    99+
    2024-04-02
  • PHP redis Sorted Set实现字符串去重代码示例
    可以使用 Redis 的 Sorted Set 有序集合来实现字符串去重的功能。 具体步骤如下: 首先将要去重的字符串作为 Sorted Set 的 member 值,可以考虑把相同...
    99+
    2023-05-20
    redis如何去重 php redis redis sorted set
  • Python实现自动化整理文件的示例代码
    目录自动化整理计算机文件1. 文件的自动分类2. 文件和文件夹的快速查找3. 自动清理重复文件4. 批量转换图片格式5. 按拍摄日期自动分类图片自动化整理计算机文件 通过Python...
    99+
    2024-04-02
  • 基于Python实现文件分类器的示例代码
    本文实现文件分类器的目的主要是为了将办公过程中产生的各种格式的文件完成整理。 通过自定义需要整理的文件目录,将该目录下面的全部文件按照文件格式完成分类操作。 实现逻辑使用的pyth...
    99+
    2023-05-14
    Python实现文件分类器 Python文件分类器 Python文件分类
  • Python实现文件操作帮助类的示例代码
    目录一、业务需求二、需求分析三、实现方法3.1、Python文件帮助类3.2、Python文件帮助类的使用示例3.3、示例执行结果一、业务需求 在使用Python进行业务开发的时候,...
    99+
    2023-03-19
    Python实现文件操作帮助类 Python文件操作 Python文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作