python怎么实现MD5进行文件去重
发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,这篇文章主要介绍"python怎么实现MD5进行文件去重",在日常操作中,相信很多人在python怎么实现MD5进行文件去重问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2025年02月24日python怎么实现MD5进行文件去重
这篇文章主要介绍"python怎么实现MD5进行文件去重",在日常操作中,相信很多人在python怎么实现MD5进行文件去重问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"python怎么实现MD5进行文件去重"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
工作原理
脚本会检查你给出的文件路径下的所有文件,然后计算每个文件的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进行文件去重"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
文件
路径
学习
文件夹
桌面
结果
脚本
不对
代码
更多
并将
帮助
检查
实用
接下来
原理
地址
库文件
据此
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
财富知网数据库网官网
如何建立期货基本面数据库
如何测试邮件服务器
二维码数据库查询
女生学人工智能还是软件开发
广州百信网络技术有限公司
pi数据库安装
服务器遇到问题是什么
舆情数据库公安局长
iscc网络安全
软件开发什么专业学
接收数据服务器端口
软件开发专利免税
重庆严打网络安全
宜春正规服务器要多少费用
做好网络安全的经验做法
天长天气预报软件开发
小型企业网络安全设置
网络安全法 银行
网络安全隐患打什么电话
色卡数据库
网络安全威胁可分为哪两类
view安全服务器作用
无线网络技术读后感
gmlan网络技术
深圳欧萨网络技术有限公司
高速公路网络安全计划
win服务器如何远程重启
重庆系统软件开发需要多少钱
人民日报数据库