python选取文件夹,然后计算该文件夹下所有文件的md5值,并列出md5值相同的文件到log中

这篇博客介绍了如何使用Python计算指定文件夹及其子目录下所有文件的MD5值,通过比较MD5值找出并列出重复文件,以便于删除重复项,确保数据的独特性。
摘要由CSDN通过智能技术生成

因为在处理手机相册的时候,发现有些照片保存了好多次,为了保证一张图片不被多次保存,所以想到通过计算图片md5值的方式来进行筛选。

图片的md5值计算,使用python非常方便。

执行该py之后,会有一个对话框,通过选择目录,即可遍历该目录及子目录下所有文件,计算出md5值,并将md5值重复的文件列出,从而可手动删除重复文件,保留一个即可。


以下是python源代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import hashlib
import datetime
from Tkinter import *
import tkFileDialog
import io


def get_file_md5(file_path):
	if not os.path.isfile(file_path):
		return
	myhash=hashlib.md5()
	f=file(file_path,'rb')
	while True:
		b = f.read(8096)
		if not b:
			break
		myhash.update(b)
	f.close()
	return myhash.hexdigest()

#print file md5 value and time costed

def file_name(file_dir):
	log_file_path = os.path.dirname(os.path.realpath(__file__))
	py_name=os.path.basename(os.path.realpath(__file__))
	log_file_path = log_file_path + '\\' + 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值