Python實現(xiàn)的刪除重復文件或圖片功能示例【去重】
更新時間:2019年04月23日 10:36:33 作者:loveliuzz
這篇文章主要介紹了Python實現(xiàn)的刪除重復文件或圖片功能,結合實例形式分析了Python基于os與hashlib模塊針對文件的讀取、hash計算及重復性判定等相關操作技巧,需要的朋友可以參考下
本文實例講述了Python實現(xiàn)的刪除重復文件或圖片功能。分享給大家供大家參考,具體如下:
通過python爬蟲或其他方式保存的圖片文件通常包含一些重復的圖片或文件,
通過下面的python代碼可以將重復的文件刪除以達到去重的目的。其中,文件目錄結構如下圖:

# /usr/bin/env python
# -*- coding:utf-8 -*-
# 運行的代碼文件要放到刪除重復的文件或圖片所包含的目錄中
import os
import hashlib
def filecount():
filecount = int(os.popen('dir /B |find /V /C ""').read())
return (filecount)
def md5sum(filename):
f = open(filename, 'rb')
md5 = hashlib.md5()
while True:
fb = f.read(8096)
if not fb:
break
md5.update(fb)
f.close()
return (md5.hexdigest())
def delfile():
all_md5 = {}
filedir = os.walk(os.getcwd())
for i in filedir:
for tlie in i[2]:
if md5sum(tlie) in all_md5.values():
os.remove(tlie)
else:
all_md5[tlie] = md5sum(tlie)
if __name__ == '__main__':
oldf = filecount()
print('去重前有', oldf, '個文件\n\n\n請稍等正在刪除重復文件...')
delfile()
print('\n\n去重后剩', filecount(), '個文件')
print('\n\n一共刪除了', oldf - filecount(), '個文件\n\n')
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
相關文章
Python實現(xiàn)五子棋人機對戰(zhàn)?和人人對戰(zhàn)
這篇文章主要介紹了Python實現(xiàn)五子棋人機對戰(zhàn)?和人人對戰(zhàn),通過定義黑白子,落子位置以及獲勝規(guī)則展開詳細內容,需要的小伙伴可以參考一下2022-05-05
python如何用columns參數(shù)獲取DataFrame各列的表頭名
這篇文章主要介紹了python如何用columns參數(shù)獲取DataFrame各列的表頭名問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03

