使用Python计算指定目录md5,根据md5找查到相同的文件并打印
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python计算指定目录md5,根据md5找查到相同的文件并打印相关的知识,希望对你有一定的参考价值。
实现代码如下:
#!/usr/bin/python #*-*coding:utf8*-* import os import sys import hashlib def md5sum(data): with open(data, "rb") as f: md5 = hashlib.md5() for i in f.read(4096): if i: md5.update(i) else: break md5 = md5.hexdigest() return md5 """在指定字典中查找指定的key,如果存在就把值追加到这个key对应的value中,并以列表保存 如果不存在就添加一个新元素,同样value也是以列表形式保存""" def add(dic, key, value): dic.setdefault(key, [ ]).append(value) def _files(data): dir = os.walk(data) dic1 = {} for x, y, z in dir: for i in z: file_path = os.path.join(x, i) add(dic1, md5sum(file_path), file_path) for i in dic1: #对字典进行循环如果有相同的文件就打印出其md5和文件名 if len(dic1[i]) > 1: print(i, dic1[i]) if __name__ == "__main__": _files(sys.argv[1])
运行结果如下:
本文出自 “蓝色_风暴” 博客,请务必保留此出处http://270142877.blog.51cto.com/12869137/1933928
以上是关于使用Python计算指定目录md5,根据md5找查到相同的文件并打印的主要内容,如果未能解决你的问题,请参考以下文章