中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何刪除本地夾里重復文件

發布時間:2021-04-21 10:16:12 來源:億速云 閱讀:280 作者:小新 欄目:開發技術

這篇文章主要介紹了python如何刪除本地夾里重復文件,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Python的優點有哪些

1、簡單易用,與C/C++、Java、C# 等傳統語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向對象,能夠支持面向過程編程,也支持面向對象編程;4、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠實現所有的常見功能。

一、方法和思路

1.比對文件是否相同的方法:hashlib庫里提供了獲取文件md5值的方法,所以我們可以通過md5值來判定是否圖片相同

2.對文件的操作:os庫里有對文件的操作方法,比如:os.remove()可以刪除指定的文件, os.listdir()可以通過指定文件夾路徑獲取文件夾里所有文件的文件名

思路:通過獲取指定文件夾的所有文件名,然后匹配為一個絕對路徑的列表,循環的比對每個文件的md5值,如果md5值重復,則刪除這個文件

二、代碼實現

import os 
import hashlib 
import logging 
import sys 
 
def logger(): 
 """ 獲取logger""" 
 logger = logging.getLogger() 
 if not logger.handlers: 
  # 指定logger輸出格式 
  formatter = logging.Formatter('%(asctime)s %(levelname)-8s: %(message)s') 
  # 文件日志 
  file_handler = logging.FileHandler("test.log") 
  file_handler.setFormatter(formatter) # 可以通過setFormatter指定輸出格式 
  # 控制臺日志 
  console_handler = logging.StreamHandler(sys.stdout) 
  console_handler.formatter = formatter # 也可以直接給formatter賦值 
  # 為logger添加的日志處理器 
  logger.addHandler(file_handler) 
  logger.addHandler(console_handler) 
  # 指定日志的最低輸出級別,默認為WARN級別 
  logger.setLevel(logging.INFO) 
 return logger 
 
def get_md5(filename): 
 m = hashlib.md5() 
 mfile = open(filename, "rb") 
 m.update(mfile.read()) 
 mfile.close() 
 md5_value = m.hexdigest() 
 return md5_value 
 
def get_urllist(): 
 #替換指定的文件夾路徑即可 
 base = ("F:\\pythonFile\\煎蛋網\\無聊圖\\jpg\\") 
 list = os.listdir(base) 
 urlList=[] 
 for i in list: 
  url = base + i 
  urlList.append(url) 
 return urlList 
 
if __name__ == '__main__': 
 log = logger() 
 md5List =[] 
 urlList =get_urllist() 
 for a in urlList: 
  md5 =get_md5(a) 
  if (md5 in md5List): 
   os.remove(a) 
   print("重復:%s"%a) 
   log.info("重復:%s"%a) 
  else: 
   md5List.append(md5) 
   # print(md5List) 
   print("一共%s張照片"%len(md5List))

然后我們可以通過日志來查看到底哪些文件是重復的,不過對于一些超大文件的話,md5值的獲取會有一些變化,不過處理一般的小文件都可以的,只需要替換我的路徑,就可以在你電腦上運行啦。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“python如何刪除本地夾里重復文件”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙州县| 满城县| 吐鲁番市| 特克斯县| 闻喜县| 万安县| 通海县| 疏勒县| 通化县| 高清| 旅游| 华阴市| 北票市| 张家界市| 阿鲁科尔沁旗| 类乌齐县| 修水县| 芒康县| 高平市| 阳东县| 寿阳县| 原平市| 阿巴嘎旗| 祁门县| 金坛市| 巢湖市| 孝昌县| 正阳县| 通山县| 惠安县| 汾西县| 西宁市| 驻马店市| 醴陵市| 公主岭市| 甘南县| 酒泉市| 漯河市| 永济市| 清远市| 汾阳市|