使用Python计算指定目录md5,根据md5找查到相同的文件并打印
2017-06-09 18:27
579 查看
实现代码如下:
运行结果如下:
#!/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])
运行结果如下:
相关文章推荐
- Python:编写函数,能在当前目录以及子目录下查找文件名包含指定字符串的文件,并打印出完整路径
- 使用python读取指定目录下的源代码并将内容复制到同一新文件中
- Python使用logging模块实现打印log到指定文件的方法
- 使用python读取指定目录下的指定类型文件
- Python使用reportlab将目录下所有的文本文件打印成pdf的方法
- 使用Python监视指定目录下文件变更的方法
- Java基础之IO流,使用File类以树形结构打印指定文件目录
- Python使用reportlab将目录下所有的文本文件打印成pdf的方法
- Python 计算某个目录下的文件md5并且以md5批量重命名
- 使用Python脚本删除指定文件夹下的指定目录及其文件
- Python中使用md5sum检查目录中相同文件代码分享
- Python 在当前目录以及其子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
- 使用Python处理目录(二):计算某个目录下特定文件类型中文件总行数
- java使用计算md5校验码方式比较两个文件是否相同
- java使用计算md5校验码方式比较两个文件是否相同
- Python中使用md5sum检查目录中相同文件代码分享
- python 文件和目录 当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
- java 使用递归获取指定文件路径目录,删除指定的文件后缀(可扩展,根据具体需要的删除的后缀进行配置)~~
- 根据第三方库spire.pdf使用指定打印机打印pdf文件
- 编写一个Python程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径