使用Python3 快速找出文件夹中所有相同的文件

import glob
import hashlib
from time import perf_counter

def get_file_md5(file):
    md5 = hashlib.md5()
    with open(file,'rb') as fp:
        sc_read = fp.read()
    md5.update(sc_read)
    return md5.hexdigest()

if __name__ == '__main__':
    all_md5 = dict()
    file_dir = r'E:\images\*.png'
    start = perf_counter()
    for file in glob.iglob(file_dir):
        md5 = get_file_md5(file)
        if md5 in all_md5:
            all_md5[md5] += '\n' + file
        else:
            all_md5[md5] =  '\n' * 2 + file
    end = perf_counter()
    print (f"耗时:{end-start}")
    print (len(all_md5))

欢迎关注本人微信公众号,会分享更多的干货:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值