python如何删除本地夹里重复文件

  介绍

这篇文章主要介绍了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如何删除本地夹里重复文件”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

python如何删除本地夹里重复文件