iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python如何实现MD5进行文件去重
  • 640
分享到

python如何实现MD5进行文件去重

2023-06-20 14:06:20 640人浏览 薄情痞子

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

摘要

本篇内容主要讲解“python如何实现MD5进行文件去重”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何实现MD5进行文件去重”吧!目录前言工作原理代码前言工作中偶尔会遇到文件去重

本篇内容主要讲解“python如何实现MD5进行文件去重”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Python如何实现MD5进行文件去重”吧!

目录
  • 前言

  • 工作原理

  • 代码

前言

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

工作原理

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

  • 如果某文件的MD5值不在列表中,就认定其是我们需要的文件,脚本会在桌面新建一个名为“去重结果”的文件夹,并将其复制到里面去。

  • 如果某文件的MD5值在列表中,就认定其不是我们需要的文件,不对其做任何处理。

  • 代码可以直接运行,无需做任何修改(除了安装可能缺少的库文件)

代码

import osimport shutilimport 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, path2)    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)    # path2 用来存放所有的去重结果    desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')  # 获取桌面路径    path2 = os.path.join(desktop_path, '去重结果')    os.makedirs(path2)    only_one(path)    print('\033[32m[-] 现有非重复文件共计:{}个\033[0m'.format(len(os.listdir(path2))))

python如何实现MD5进行文件去重

到此,相信大家对“python如何实现MD5进行文件去重”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: python如何实现MD5进行文件去重

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python如何实现MD5进行文件去重
    本篇内容主要讲解“python如何实现MD5进行文件去重”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python如何实现MD5进行文件去重”吧!目录前言工作原理代码前言工作中偶尔会遇到文件去重...
    99+
    2023-06-20
  • python实现MD5进行文件去重的示例代码
    目录前言工作原理代码前言 工作中偶尔会遇到文件去重的事情,收到一大堆文件,名称各不相同,分析文件的时候发现有不少重复的文件,导致工作效率低下,那么,这里就写了一个python脚本实现文件去重功能 工作原理 脚本会检查...
    99+
    2022-06-02
    python MD5文件去重 python MD5去重
  • 如何实现Python文件去重
    这篇文章将为大家详细讲解有关如何实现Python文件去重,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码ing导出的文件都是保存在同一文件夹下的,格式也相同。然后,上网查了下 filecmp.cmp()...
    99+
    2023-06-20
  • 8行代码实现Python文件去重
    目录需求描述撸代码ing需求描述 上周突然接到一个任务,要通过XX网站导出XX年-XX年之间的数据,导出后的文件名就是对应日期,导出后发现,竟然有的文件大小是一样,但文件名又没有重复...
    99+
    2022-11-12
  • Python 如何实现文件自动去重
    Python 文件自动去重 平日里一来无聊,二来手巧,果然下载了好多无(luan)比(qi)珍(ba)贵(zao)的资料,搞得我小小的硬盘(已经扩到6T了)捉襟见肘, 有次无意间,发...
    99+
    2022-11-12
  • Python怎么实现文件自动去重
    这篇文章主要介绍Python怎么实现文件自动去重,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Python 文件自动去重平日里一来无聊,二来手巧,果然下载了好多无(luan)比(qi)珍(ba)贵(zao)的资料,搞...
    99+
    2023-06-15
  • Python做文本按行去重的实现方法
    文本: 每行在promotion后面包含一些数字,如果这些数字是相同的,则认为是相同的行,对于相同的行,只保留一行。 思路: 根据字典和字符串切割。 建立一个空字典。 读入文本,并对每行切割前半部分,在读入...
    99+
    2022-06-04
    行去 文本 方法
  • Python如何对文件进行重命名
    目录对文件进行重命名对文件夹下文件按顺序重命名先使用最简单的方法尝试一下我们就可以看到文件夹已经按照顺序重命名了接下来我们对文件进行重命名先建一个文本文档对文件进行重命名 直接贴代码...
    99+
    2022-11-11
  • JAVA 如何实现大文本去除重复行
    这期内容当中小编将会给大家带来有关JAVA 如何实现大文本去除重复行,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。去重复行,用SQL写很简单,就一句SELECT DISTINCT … FROM。但...
    99+
    2023-06-03
  • Python如何实现HTTP文件重定向?
    HTTP文件重定向是指在HTTP协议中,服务器返回的响应状态码为3xx时,浏览器会自动跳转到新的URL地址。这种机制在网站开发中非常常见,例如当我们访问一个网站时,可能会自动跳转到登录页面、注册页面或者其他页面。在Python中,实现HT...
    99+
    2023-08-27
    http 文件 重定向
  • 如何使用python实现列表去重
    小编给大家分享一下如何使用python实现列表去重,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python实现列表去重的方法先...
    99+
    2022-10-19
  • 教新手使用java如何对一个大的文本文件内容进行去重
    目录有内存溢出风险的写法:通过hashCode取模拆分写法:总结有内存溢出风险的写法: public static void distinct() { File ff = ...
    99+
    2022-11-12
  • Python实现如何根据文件后缀进行分类
    目录使用os和shutil读取目标文件夹下的所有文件获取每一个文件的完整路径分组之后的文件展示获取分组之后的文件夹路径移动文件到目标文件夹完整代码使用pathlib使用Path读取文...
    99+
    2022-11-12
  • Python如何实现逐行读取文本文件
    目录Python 中的 open() 函数是什么文件名和正确路径open() 中的可选模式参数Python 中 open() 函数的其他参数Python 中的 read() 方法Py...
    99+
    2022-11-12
  • 基于Python如何实现视频去重小工具
    这篇文章主要介绍“基于Python如何实现视频去重小工具”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于Python如何实现视频去重小工具”文章能帮助大家解决问题。同级目录下新建dup_video...
    99+
    2023-07-05
  • 批处理如何实现根据文件内容进行重命名操作
    这篇文章将为大家详细讲解有关批处理如何实现根据文件内容进行重命名操作,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我想实现以下的目的: 首先,我有个.dat文件,名字是固定的,需要更改这个文件名. .da...
    99+
    2023-06-09
  • Python实现读取csv文件并进行排序
    目录前言一、案例描述二、代码讲解三、完整代码从本文开始,本系列将介绍python简单案例并进行代码展示,本文的案例是利用pandas库实现读取csv文件并按照列的从小到大进行排序。 ...
    99+
    2023-02-10
    Python读取csv文件 Python读取csv Python csv
  • 如何进行Python文件的操作
    本篇内容主要讲解“如何进行Python文件的操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何进行Python文件的操作”吧!1. 文件的读写原理:文件的读写称为I/O操作。操作原理:.py...
    99+
    2023-06-14
  • Python文件处理该如何进行
    Python文件处理该如何进行,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python 文件处理很简单,使用内置的文件类.打开一个文件#open返回一个文件类 in...
    99+
    2023-06-04
  • 如何使用Node.js对文件进行重命名
    这篇文章主要介绍如何使用Node.js对文件进行重命名,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言hexo的文章基本都是生成在_post文件夹下,若文章多了以后就不好管理,所就...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作