Afficher tous les doublons dans une liste de fichiers

Signaler
-
Messages postés
16087
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 juin 2021
-
Bonjour,

Tous est dans le titre.
Je cherche a afficher tous les doublons dans une liste.
La liste est en faite une liste de fichier du disque dur, l'utilisateur doit pouvoir var les doublons afin de les comparer éventuellement et savoir quel est le chemin des doublons pour un supprimer un des deux .

exemple liste
Liste = ['/home/laurent/gestion.pdf', '/home/laurent/test.pdf', '/home/laurent/pdf/gestion.pdf', '/home/laurent/gestion.odt', '/home/laurent/Documents/03157.jpg']

Comment afficher les doublons dans la liste avec les chemin différent des fichers ?

Je n'arrive pas a trouver la solution ?

Merci d'avance pour vos avis et conseils ?

Configuration: Linux / Firefox 88.0

2 réponses

Messages postés
16087
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 juin 2021
868
bonjour,
un conseil:
donne un exemple complet, avec, évidemment, le résultat attendu.
sinon, l'exemple ne sert à rien.
Bonsoir,
Liste = ['/home/laurent/gestion.pdf', '/home/laurent/test.pdf', '/home/laurent/pdf/gestion.pdf', '/home/laurent/vidéo_famille.avi', '/home/laurent/gestion.odt', '/home/laurent/Documents/03157.jpg', '/home/laurent/vidéo_famille.avi']


le résultat que je voudrais obtenir afin de savoir l'emplacement des doublon pour en supprimer un des deux .

doublons trouvé :
/home/laurent/gestion.pdf
/home/laurent/pdf/gestion.pdf

/home/laurent/vidéo_famille.avi
/home/laurent/Vidéos/vidéo_famille.avi

Pour lister les fichier j'utilise ceci :
def lister_fichiers(path):
    global liste_des_fichiers_avec_chemin,  liste_des_fichiers_sans_chemin
    import glob 
    import os.path 
    liste_des_fichiers_avec_chemin = [] 
    for root, dirs, files in os.walk(path): 
        for i in files: 
            liste_des_fichiers_avec_chemin.append(os.path.join(root, i)) 
            liste_des_fichiers_sans_chemin.append(os.path.join(i))
            
    print liste_des_fichiers_avec_chemin
    print liste_des_fichiers_sans_chemin
    print


A partir de là comment afficher les doublons avec le chemin ?
A mon avis en jouant avec les deux listes
Comparer la liste sans chemin et afficher le resultat avec la liste avec chemin en indiquant l'index de l'element
liste_des_fichiers_avec_chemin[index]


Merci d'avance ?
Messages postés
16087
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 juin 2021
868
moi je mettrais les deux informations dans une seule structure.
puis je trierais la structure sur base du nom de fichier.
et ensuite je parcourrais la structure pour découvrir les doublons.