python如何刪除本地夾里重復文件-創(chuàng)新互聯(lián)

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

岳麓網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,岳麓網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為岳麓上千多家提供企業(yè)網(wǎng)站建設(shè)服務。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務好的岳麓做網(wǎng)站的公司定做!

Python的優(yōu)點有哪些

1、簡單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向?qū)ο螅軌蛑С置嫦蜻^程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。

一、方法和思路

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

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

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

二、代碼實現(xiàn)

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\\煎蛋網(wǎng)\\無聊圖\\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如何刪除本地夾里重復文件”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司,關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、網(wǎng)站設(shè)計器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網(wǎng)頁名稱:python如何刪除本地夾里重復文件-創(chuàng)新互聯(lián)
當前URL:http://bm7419.com/article6/dssiig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、移動網(wǎng)站建設(shè)品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、用戶體驗、電子商務

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管