平时学生交上机作业的时候经常有人相互复制,直接改文件名了事,为了能够简单的检测这种作弊行为,想到了检测文件的MD5值,虽然对于抄袭来说作用不大,但是聊胜于无,以后可以做一个复杂点的。

# coding: utf8import hashlib
import os
from collections import Counter
import sysreload(sys)
sys.setdefaultencoding('utf-8')def get_md5_01(file_path):md5 = Noneif 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:breakmd5_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 '-'*50print 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]

Python实现检测文件的MD5值来查找重复文件相关推荐

  1. php检测txt中重复数据,Python实现检测文件的MD5值来查找重复文件案例

    平时学生交上机作业的时候经常有人相互复制,直接改文件名了事,为了能够简单的检测这种作弊行为,想到了检测文件的MD5值,虽然对于抄袭来说作用不大,但是聊胜于无,以后可以做一个复杂点的. # coding ...

  2. Spring Boot——获取上传文件的MD5值解决方案

    解决方案 方法一: /*** 上传文件* @param file 文件* @return ResponseBean*/@ApiOperation(value = "上传文件",no ...

  3. 高效率整理电脑上的文件:清理电脑文件方案需要 -- 合理的方法 + 合适的工具如Python查找重复文件

    有效管理电脑文档 出发点 推荐一适合大众用户的省时好用懒人方法 管好文件的基础 一. 数据/文件的分类 二. 数据/文件存放的地方 三. 数据/文件名称和文件夹名称的规范和技巧 查询重复文件的工具和方 ...

  4. 如何查找重复文件并快速删除,电脑查重复文件的方法

    在日常使用电脑的过程中,我们要下载.编辑.保存文件,难免会出现一些重复文件,这些重复文件不仅会给工作带来不便,也会占用硬盘宝贵的空间.因此,经常查找与清理电脑中的重复文件就显得格外重要.如何查找重复文 ...

  5. python打包zip文件_python 解压文件,合并文件 打包成zip格式文件 生成MD5值

    #!/usr/bin/env python #_*_encoding:utf-8 # 2018/05/29 #augustyang #2.0 ''' 解压文件,合并文件 打包成zip格式文件 生成MD ...

  6. python计算文件md5值_用python计算文件的MD5值

    md5是一种常见不可逆加密算法,使用简单,计算速度快,在很多场景下都会用到,比如:给用户上传的文件命名,数据库中保存的用户密码,下载文件后检验文件是否正确等.下面讲解在python中如何使用md5算法 ...

  7. 利用python实现批量修改文件的md5值

    # 该.py文件与待修改文件置于同一文件夹下,操作运行即可实现功能.注意观察操作台反馈. import os import random import sys import hashlib# 获取当前 ...

  8. c++判断文件是否被修改(获取文件的MD5值)

    需求分析 因为项目中需要检测一个文件是否被篡改,我采用了监测文件的MD5值. MD5,简单地来说,就是文件的"指纹".如果原始文件被修改了,那么MD5值也就会跟着发生变化,所以我们 ...

  9. python3计算md5_python 计算文件的md5值实例

    较小文件处理方法: import hashlib import os def get_md5_01(file_path): md5 = None if os.path.isfile(file_path ...

最新文章

  1. esp freertos_如何开始使用FreeRTOS和ESP8266
  2. 好东西+php,推荐个好东西swoole,php如虎添翼
  3. MATLAB爬虫爬取股票数据
  4. OVS DPDK--virtqueue(十七)
  5. robotframe使用之时间控件
  6. python3 format函数_Python学习教程:Python3之字符串格式化format函数详解(上)
  7. 【Python学习系列二十一】pandas库基本操作
  8. linux切换软件版本,Linux中dpkg工具update-alternatives实现符号链接软件版本的切换(转)...
  9. 解决 Windows To Go U盘没有盘符的问题
  10. android页面布局 如何让中间的listview填充剩余部分_谷歌驾驶设计—界面设计布局...
  11. 用字典给Model赋值
  12. .NET简谈插件系统开发模式
  13. Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (10) - 乱序引擎概述
  14. java jdk学习_Java学习第一步:JDK环境搭建(纯小白向)
  15. Duplicate Net Names Wire Net......
  16. 【前端工程化】使用tippy.js代替自定义的popover/tooltip
  17. Modelsim搭建具有各组件的UVM验证平台
  18. 多摩川绝对值编码器CPLD FPGA通信源码(VHDL格式+协议+说明书)
  19. [转]我的FLASH情结2010——浅谈FLASH WEB GAME与创业(下)
  20. 面试中 项目遇见的难点答案_你和offer之间只差这几个面试问题!常见面试问题汇总...

热门文章

  1. 巅峰对决:node.js和php性能测试
  2. 关于互联网的一些观点想法
  3. win10 Asus 家庭版 电脑初始设置相关
  4. esp32-cam摄像头+远程遥控小车
  5. 交换机是一台特殊的计算机,实验三:交换机配置.ppt
  6. 520被女朋友三番两次拉黑后,我用 Python 写了个“舔狗”必备神器
  7. 读书笔记——寻找道德
  8. 电商翻身受宠社交成大势 2019上市科技股大盘点
  9. OVP过压保护IC高耐压36V,首选钰泰ETA7008/ETA7014
  10. 德语语法笔记——冠词的用法