Python实现检测文件的MD5值来查找重复文件
来源:互联网 发布:word 矩阵对齐 编辑:程序博客网 时间:2024/05/22 03:14
平时学生交上机作业的时候经常有人相互复制,直接改文件名了事,为了能够简单的检测这种作弊行为,想到了检测文件的MD5值,虽然对于抄袭来说作用不大,但是聊胜于无,以后可以做一个复杂点的。
# coding: utf8import hashlibimport osfrom collections import Counterimport sysreload(sys)sys.setdefaultencoding('utf-8')def get_md5_01(file_path): md5 = None if os.path.isfile(file_path): f = open(file_path,'rb') md5_obj = hashlib.md5() md5_obj.update(f.read()) hash_code = md5_obj.hexdigest() f.close() md5 = str(hash_code).lower() return md5def get_md5_02(file_path): f = open(file_path,'rb') md5_obj = hashlib.md5() while True: d = f.read(8096) if not d: break md5_obj.update(d) hash_code = md5_obj.hexdigest() f.close() md5 = str(hash_code).lower() return md5if __name__ == "__main__": output_list=[] #input_path=r"e:\xx\新建文件夹" #output_path = unicode(input_path , "utf8") output_path=os.getcwd() g = os.walk(output_path) for path,dir_list,file_list in g: for file_name in file_list: output_list.append(os.path.join(path, file_name) ) md5_list= [get_md5_01(i) for i in output_list] Counter_list=Counter(md5_list) for i in Counter_list.items(): if i[1] >1: duplicate_list=[ a for a in range(len(md5_list)) if md5_list[a] == i[0]] print '-'*50 print i[0] for j in duplicate_list: with open('duplicate.log', mode='a+') as f: f.write(i[0]+'\t'+output_list[j]+'\n') print output_list[j]
阅读全文
1 0
- Python实现检测文件的MD5值来查找重复文件
- Python通过MD5值实现重复文件的检测
- python检测文件的MD5值
- python检测文件的MD5值
- 【python 文件加密算法】python检测文件的MD5值
- 【数据挖掘】利用md5查找重复文件
- 检测重复文件功能实现
- python 文件的md5
- python 文件的md5
- Python实现文件md5校验
- python实现文件查找
- 使用文件Md5值检测文件完整性
- Python的学习(三十) ---- Python实现文件md5校验
- 用python计算文件的md5值
- 用python计算文件的md5值
- 用Python计算文件的MD5值
- Python -- 计算文件的md5值
- python计算文件的MD5值
- 网页编程语言,网页编程语言大全介绍。
- 小四轴——空心杯电机引起的电源干扰
- 并发技术_3_CountDownLatch
- Opencv源码调试与修改
- 插入排序的原理和代码实现
- Python实现检测文件的MD5值来查找重复文件
- php 、html网页解决乱码问题(设置utf-8)
- python初学笔记-类和装饰
- 一些总结
- 磨刀
- rabbitMQ模拟消息队列群发邮件
- Python遍历文件夹下所有文件及目录
- POJ 2187 Beauty Contest (求最远点对,凸包+旋转卡壳)
- Cygwin-添加到右键菜单脚本--一键安装、卸载