Je suis en train d'essayer de parcourir les fichiers dans un répertoire et de trouver des doublons et de les supprimer. J'ai 29 000 fichiers dans le répertoire donc faire une force brutale prendra plus d'un jour.Python Loop à partir du fichier actuel
J'ai les noms de fichiers qui sont comme suit:
« some_file_name » « un-fichier-name »
donc un nom a underscores et l'autre a des traits et parfois ils sont 2 ou trois points une part.
Alors, comment faire pour que ma boucle interne commence à la position de la boucle externe dans le répertoire et qu'elle ne vérifie que les 10 prochaines?
Voici Brute code vigueur:
import glob, os
os.chdir("C:/Dir/dir")
for file in glob.glob("*"):
temp = file
temp = temp.replace("-", " ")
temp = temp.replace("_", " ")
#How do I start this loop where file is currently at and continue for the next 10 files
for file2 in glob.glob("*"):
temp2 = file2
temp2 = temp2.replace("-", " ")
temp2 = temp2.replace("_", " ")
if temp == temp2:
os.remove(file2)
Voulez-vous des trouver des doublons en fonction du contenu ou de la même nom seul? – Tomalak
Plutôt que de boucler deux fois (temp1 et temp2) avez-vous essayé d'utiliser une structure de données (un ensemble ou une liste) pour garder trace des noms de fichiers que vous avez déjà visités? De cette façon, vous n'avez besoin de faire une boucle qu'une seule fois sur chaque fichier. – pills