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

Python實(shí)現(xiàn)的刪除重復(fù)文件或圖片功能示例【去重】

 更新時(shí)間:2019年04月23日 10:36:33   作者:loveliuzz  
這篇文章主要介紹了Python實(shí)現(xiàn)的刪除重復(fù)文件或圖片功能,結(jié)合實(shí)例形式分析了Python基于os與hashlib模塊針對(duì)文件的讀取、hash計(jì)算及重復(fù)性判定等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)的刪除重復(fù)文件或圖片功能。分享給大家供大家參考,具體如下:

通過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')

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論