这篇文章给大家分享的是有关python如何删除文件夹下相同文件和无法打开的图片的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,Web开发等。
删除相同文件:
#coding=utf-8 import os import os.path import Image import hashlib def get_md5(filename): m = hashlib.md5() mfile = open(filename, "rb") m.update(mfile.read()) mfile.close() md5_value = m.hexdigest() return md5_value if __name__ == '__main__': ipath = "E:\\20161019_photo" uipath = unicode(ipath, "utf8") for parent, dirnames, filenames in os.walk(uipath): md5_list = [] #for dirname in dirnames: # 输出文件夹信息 #print "parent is:" + parent #print "dirname is: " + dirname for filename in filenames: #print "parent is :" + parent #print "filename is:" + filename #print "md5_list is : " if(get_md5(os.path.join(parent, filename)) in md5_list): os.remove(os.path.join(parent, filename)) else: md5_list.append(get_md5(os.path.join(parent, filename))) #print md5_list #md5 = []
删除无法打开文件:
#coding=utf-8 import os import os.path import Image import hashlib def get_md5(filename): m = hashlib.md5() mfile = open(filename, "rb") m.update(mfile.read()) mfile.close() md5_value = m.hexdigest() return md5_value if __name__ == '__main__': ipath = "E:\\20161019_photo" uipath = unicode(ipath, "utf8") for parent, dirnames, filenames in os.walk(uipath): for filename in filenames: name ,ext = os.path.splitext(filename) if((ext == ".png") or (ext == ".tif") or (ext == ".gif")): os.remove(os.path.join(parent, filename)) else: if(ext == ".jpg"): try: fp = open(os.path.join(parent, filename), 'rb') img = Image.open(fp) except: fp.close() os.remove(os.path.join(parent, filename)) else: continue
感谢各位的阅读!关于“python如何删除文件夹下相同文件和无法打开的图片”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。