Eliminar ficheros duplicados

El código elimina los ficheros duplicados de un directorio, e imprime en terminal el número de ficheros totales y el número de archivos únicos después de su ejecución.

import os
from hashlib import md5

def remove_duplicates(dir):
    unique = []
    print("Archivos Totales ", len(os.listdir(dir))) #Archivos Totales
    for filename in os.listdir(dir):
            filehash = md5(open(dir + filename, 'rb').read()).hexdigest()
            if filehash not in unique: 
                unique.append(filehash)
            else: 
                os.remove(dir+filename)
    print("Archivos Únicos ",len(unique)) #Archivos Únicos
    
remove_duplicates("./nombre_del_directorio/")

Deja un comentario