欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python刪除本地夾里重復(fù)文件的方法

 更新時(shí)間:2020年11月19日 16:13:49   作者:許西城  
這篇文章主要為大家詳細(xì)介紹了python刪除本地夾里重復(fù)文件的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

上次的博文主要說了從網(wǎng)上下載圖片,于是我把整個(gè)笑話網(wǎng)站的圖片都拔下來了,但是在拔取的圖片中有很多重復(fù)的,比如說頁面的其他圖片、重復(fù)發(fā)布的圖片等等。所以我又找了python的一些方法,寫了一個(gè)腳本可以刪除指定文件夾里重復(fù)的圖片。

一、方法和思路

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

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

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

二、代碼實(shí)現(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指定輸出格式 
 # 控制臺(tái)日志 
 console_handler = logging.StreamHandler(sys.stdout) 
 console_handler.formatter = formatter # 也可以直接給formatter賦值 
 # 為logger添加的日志處理器 
 logger.addHandler(file_handler) 
 logger.addHandler(console_handler) 
 # 指定日志的最低輸出級(jí)別,默認(rèn)為WARN級(jí)別 
 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("重復(fù):%s"%a) 
  log.info("重復(fù):%s"%a) 
 else: 
  md5List.append(md5) 
  # print(md5List) 
  print("一共%s張照片"%len(md5List)) 

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python異步編程之yield?from的用法詳解

    Python異步編程之yield?from的用法詳解

    yield?from?是Python3.3?后新加的語言結(jié)構(gòu),可用于簡(jiǎn)化yield表達(dá)式的使用,這篇文章主要為大家詳細(xì)介紹了yield?from的用法,需要的可以了解一下
    2023-12-12
  • python實(shí)現(xiàn)批量轉(zhuǎn)換圖片為黑白

    python實(shí)現(xiàn)批量轉(zhuǎn)換圖片為黑白

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)批量轉(zhuǎn)換圖片為黑白,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • python2使用bs4爬取騰訊社招過程解析

    python2使用bs4爬取騰訊社招過程解析

    這篇文章主要介紹了python2使用bs4爬取騰訊社招過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python中的對(duì)數(shù)log函數(shù)表示及用法

    python中的對(duì)數(shù)log函數(shù)表示及用法

    在本篇文章里小編給大家整理了一篇關(guān)于python中的對(duì)數(shù)log函數(shù)表示及用法,有需要的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • 利用LyScript實(shí)現(xiàn)應(yīng)用層鉤子掃描器

    利用LyScript實(shí)現(xiàn)應(yīng)用層鉤子掃描器

    Capstone 是一個(gè)輕量級(jí)的多平臺(tái)、多架構(gòu)的反匯編框架。本篇文章將運(yùn)用LyScript插件結(jié)合Capstone反匯編引擎實(shí)現(xiàn)一個(gè)鉤子掃描器,感興趣的可以了解一下
    2022-08-08
  • 深入理解?python?虛擬機(jī)

    深入理解?python?虛擬機(jī)

    這篇文章主要介紹了深入理解?python?虛擬機(jī)的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • opencv python 圖像輪廓/檢測(cè)輪廓/繪制輪廓的方法

    opencv python 圖像輪廓/檢測(cè)輪廓/繪制輪廓的方法

    這篇文章主要介紹了opencv python 圖像輪廓/檢測(cè)輪廓/繪制輪廓的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • PyTorch中常見損失函數(shù)的使用詳解

    PyTorch中常見損失函數(shù)的使用詳解

    損失函數(shù),又叫目標(biāo)函數(shù),是指計(jì)算機(jī)標(biāo)簽值和預(yù)測(cè)值直接差異的函數(shù),本文為大家整理了PyTorch中常見損失函數(shù)的簡(jiǎn)單解釋和使用,希望對(duì)大家有所幫助
    2023-06-06
  • Python通過pytesseract庫實(shí)現(xiàn)識(shí)別圖片中的文字

    Python通過pytesseract庫實(shí)現(xiàn)識(shí)別圖片中的文字

    Pytesseract是一個(gè)Python的OCR庫,它可以識(shí)別圖片中的文本并將其轉(zhuǎn)換成文本形式。本文就來用pytesseract庫實(shí)現(xiàn)識(shí)別圖片中的文字,感興趣的可以了解一下
    2023-05-05
  • python搭建微信公眾平臺(tái)

    python搭建微信公眾平臺(tái)

    這篇文章主要介紹了python搭建微信公眾平臺(tái)的相關(guān)資料和技巧,感興趣的朋友可以參考一下
    2016-02-02

最新評(píng)論