重复文件删除

Posted dennyt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重复文件删除相关的知识,希望对你有一定的参考价值。

这段代码使用python3写的,(python2明年就不维护了)比较文件的md5值,来比较文件是否相同,每个文件只要有一个标点符号,哪怕是一个空格的异同,md5值都会不一样,所以完全不用担心删错文件。

import hashlib
import os
from time import clock as now
def getmd5(filename):
    file_txt = open(filename,rb).read()
    m = hashlib.md5(file_txt)
    return m.hexdigest()
def main():
    path = input("path: ")
    all_md5=[]
    total_file=0
    total_delete=0
    start=now()
    for file in os.listdir(path):
        total_file += 1;
        real_path=os.path.join(path,file)
        if os.path.isfile(real_path) == True:
            filemd5=getmd5(real_path)
            if filemd5 in all_md5:
                total_delete += 1
                os.remove(real_path)
                print(删除,file)
            else:
                all_md5.append(filemd5)
    end = now()
    time_last = end - start
    print(文件总数:,total_file)
    print(删除个数:,total_delete)
    print(当前文件个数:,(total_file-total_delete))
    print(耗时:,time_last,)
     
if __name__==__main__: 
    main()

 

以上是关于重复文件删除的主要内容,如果未能解决你的问题,请参考以下文章

30 段 Python 实用代码

AI大神李沐开源新手剪辑神器!只看字幕就能剪视频,卡壳重复片段一键删除...

iphone / Objective c的最佳代码片段网站是啥[重复]

Codeigniter 助手重复 HTML 代码片段

即学即用的 30 段 Python 实用代码

轻松保存重复多用的代码片段