RECHERCHE DE DOUBLONS DANS DES DOSSIERS.

mouss11 Messages postés 43 Date d'inscription mercredi 22 mai 2002 Statut Membre Dernière intervention 29 octobre 2007 - 31 mai 2010 à 08:30
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 - 22 juil. 2010 à 20:47
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51821-recherche-de-doublons-dans-des-dossiers

aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
22 juil. 2010 à 20:47
Dans ce cas je vais créer un petit code avec la procédure de test pour voir si le problème est matériel (Win only). En effet c'est peu être du a Tk.

Je te dé-conseil l'utilisation de py 3.x pour des raisons évidente de compatibilité, et même de stabilité, il n'a pas assez de passif ... même s'il règle plein de problème entre autre l'unicode !
Rano Its Messages postés 11 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 6 décembre 2008
22 juil. 2010 à 14:33
Personnellement je préfère py3k il est mieux construit et plus logique dans sa globalité, mais il y a tellement de modules non-adaptés que ça en devient handicapant.
Ici par exemple j'aurai préféré utiliser WxPy.

je suis sur un autre projet alors j'ai un peu de mal à me remettre à celui-ci,
normalement :
self.d=threading.Thread(None,self.app.SearchDuplicate,None,[en])
self.d.start()
ceci appel en tant que thread (unique) la fonction pour rechercher les doublons, au sein de celle-ci :
threading.Thread(None,self.DefSize,None,()).start()
ce thread sert juste à définir la taille totale des fichiers doublons, si les processus suivants se termine avant ce sous-thread le résultats dans self.Info_Size_Str sera erroné.

En fait le question du nombre d'octets a utiliser est très importantes car elle influence directement la reconnaissance bien sûr, mais surtout la vitesse du programme.
Après pas mal d'essais je me suis stabilisé avec 200 octets et ça semble convenir, cela couplé avec la vérification directe de la date et de la taille permet d'éviter les erreurs.

Pour ce qui est du bug, je crois que c'est à cause de l'instabilité de Tkinter, comme je manipule pas mal de StringVar et autres de ce genre à la voléee, le module me sort parfois des erreurs et crash le programme.

Je suis effectivement capable de tester le prog sous windows, merci de ton aide.
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
22 juil. 2010 à 12:17
Ah ok, bug CodeS-SourceS ou erreur de ma part, je n'ai pas eu d'alerte mail !

J'ai une question : il est bien le petit Python 3 000 ?

Effectivement impossible de passer en wx sous Py3K, ça devra attendre.

Pour revenir au bug, je n'ai pas vraiment encore étudier le code, mais quand tu dis "toute la fonction est le thread", ça veut dire quoi ? Que tu créer un thread par fichier ou un thread pour tous les fichiers ?

Avec 1000 octets tu devrais être plus sure pour la vérif.

Ton bug ressemble à un problème matériel. Je vais te créer si j'ai le temps un petit script pour vérifier tout ça. Mais avant il faut que je sache si tu es capable de tester le programme sous Windows ?
xyz33 Messages postés 3 Date d'inscription samedi 5 janvier 2013 Statut Membre Dernière intervention 5 janvier 2013
28 juin 2010 à 00:54
101 ans, j'exagère un peu mais comme mon premier ordinateur était un ZX81 (cf http://fr.wikipedia.org/wiki/ZX81) j'ai l'impression que cela fait un siècle, et puis passer du code binaire en hexa à python ça fait du chemein à parcourir...

Bon, ceci étant, dans ma mandriva, j'ai du du python 3.1.1, du 2.6.4 et du 2.4.5. Une commande "python" en console indique 2.6.4, donc faisons un peu de nettoyage en éliminant le 2.4.5.
Et puis en revenant à la console je teste à tout hazard "python3" qui me répond 3.1.1, alors je rejoue en ajoutant le nom du fichier, ce qui me donne quelques messages d'erreur concernant des .gif (pb connu même si les gif en question ne servent (pour le moment) à rien:-)), un message d'erreur sur "tkinter", ben oui il manque le paquetage en 3.1.1 ! Et puis le miracle se produit.

Un test rapide sur un répertoire donne quelques doublons "pas idiots" et j'en resterai là pour ce soir !
Bonne nuit et A+
Rano Its Messages postés 11 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 6 décembre 2008
27 juin 2010 à 22:10
P.S. : xyz33 -> si t'as des questions pour mieux comprendre le programme, j'y répondrai avec plaisir.
Afficher les 17 commentaires