""" 重复文件移除器, 根据md5值删除重复文件 根据每个文件md5值的唯一性,删除相同的文件。 程序运行过程,获取文件的md5值,把它放到集合里。 如果新的md5值在集合里,则把这文件删除。""" import os import hashlib def getHash(filename): try: f1=open(filename,'rb') line=f1.readline() hash=hashlib.md5() while(line): hash.update(line) line=f1.readline() return hash.hexdigest() except: return "error" def remove_repeat_file(path): '''移除path路径下面所有的重复文件''' md5set = set() for item in os.walk(path): #返回的是三元组 for eachfile in item[2]: filename = item[0] + os.sep + eachfile md5=getHash(filename) if md5 == 'error' : print('读取',filename,'md5值发生错误') continue if md5 in md5set: os.remove(filename) else: md5set.add(md5) if __name__ == "__main__": path = 'c:/test' remove_repeat_file(path)