Afficher tous les doublons dans une liste de fichiers

Fermé
xunil2003 - 23 mai 2021 à 19:54
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 24 mai 2021 à 09:07
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
A voir également:

2 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
23 mai 2021 à 20:51
bonjour,
un conseil:
donne un exemple complet, avec, évidemment, le résultat attendu.
sinon, l'exemple ne sert à rien.
0
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 ?
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
24 mai 2021 à 09:07
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.
0