首页 > 代码库 > 使用Python计算指定目录md5,根据md5找查到相同的文件并打印
使用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找查到相同的文件并打印
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。