本文實(shí)例講述了Python實(shí)現(xiàn)的刪除重復(fù)文件或圖片功能。分享給大家供大家參考,具體如下:
站在用戶的角度思考問題,與客戶深入溝通,找到元江縣網(wǎng)站設(shè)計(jì)與元江縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋元江縣地區(qū)。通過python爬蟲或其他方式保存的圖片文件通常包含一些重復(fù)的圖片或文件,
通過下面的python代碼可以將重復(fù)的文件刪除以達(dá)到去重的目的。其中,文件目錄結(jié)構(gòu)如下圖:
# /usr/bin/env python # -*- coding:utf-8 -*- # 運(yùn)行的代碼文件要放到刪除重復(fù)的文件或圖片所包含的目錄中 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, '個(gè)文件\n\n\n請(qǐng)稍等正在刪除重復(fù)文件...') delfile() print('\n\n去重后剩', filecount(), '個(gè)文件') print('\n\n一共刪除了', oldf - filecount(), '個(gè)文件\n\n')