这篇文章主要介绍了python如何删除本地夹里重复文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
python的优点有哪些
1,简单易用,与C/c++、Java、c#等传统语言相比,python对代码格式的要求没有那么严格;2,python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3,python面向对象,能够支持面向过程编程,也支持面向对象编程;4,python是一种解释性语言,python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5,python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
<强>一、方法和思路强>
1。比对文件是否相同的方法:hashlib库里提供了获取文件md5值的方法,所以我们可以通过md5值来判定是否图片相同
2。对文件的操作:操作系统库里有对文件的操作方法,比如:操作系统。remove()可以删除指定的文件,os.listdir()可以通过指定文件夹路径获取文件夹里所有文件的文件名
<强>思路:>强通过获取指定文件夹的所有文件名,然后匹配为一个绝对路径的列表,循环的比对每个文件的md5值,如果md5值重复,则删除这个文件
<强>二、代码实现强>
import os import hashlib import logging import sys , def 记录器(): “““大敌;获取logger"““,=,,logger  logging.getLogger (), ,if not  logger.handlers:, #才能,指定记录器输出格式, formatter 才能=,logging.Formatter (& # 39; % (asctime) s % (levelname) 8 s:, %(消息)& # 39;), #,才能文件日志, 时间=file_handler 才能;logging.FileHandler (“test.log"), file_handler.setFormatter才能(formatter), #,可以通过setFormatter指定输出格式, #才能,控制台日志, 时间=console_handler 才能;logging.StreamHandler (sys.stdout), 时间=console_handler.formatter 才能;formatter #,也可以直接给格式化程序赋值, #,才能为记录器添加的日志处理器, logger.addHandler才能($ file_handle), logger.addHandler才能(console_handler), #才能,指定日志的最低输出级别,默认为警告级别, logger.setLevel才能(logging.INFO), ,return logger , def get_md5(文件名):,=,,m  hashlib.md5 (),=,mfile 开放(文件名,,“rb"), ,m.update (mfile.read ()), ,mfile.close (),=,,md5_value  m.hexdigest (), ,return md5_value , def get_urllist (): ,#替换指定的文件夹路径即可, ,base =, (“F: \ \ pythonFile \ \煎蛋网\ \无聊图\ \ jpg \ \“),=,,list  os.listdir(基地), urlList=[]大敌; ,for 小姐:列表:拷贝, 时间=url 才能;base +,小姐: urlList.append才能(url), ,return urlList , if __name__ ==, & # 39; __main__ # 39;:,=,,log 记录器(), 时间=[],md5List =,urlList  get_urllist (), ,for a  urlList:拷贝, md5 才能=get_md5 (a), if 才能;(md5 拷贝md5List):, ,,os.remove (a), ,才能打印(“重复:% s" %), ,,log.info(“重复:% s" %), ,,: ,,md5List.append (md5), ,,#,打印(md5List), ,才能打印(“一共% s张照片“% len (md5List))
然后我们可以通过日志来查看到底哪些文件是重复的,不过对于一些超大文件的话,md5值的获取会有一些变化,不过处理一般的小文件都可以的,只需要替换我的路径,就可以在你电脑上运行啦。
感谢你能够认真阅读完这篇文章,希望小编分享的“python如何删除本地夹里重复文件”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!