Python ne reconnaissant pas les répertoires du système d'exploitation.chemin d'accès.isdir()
J'ai le code Python suivant pour supprimer des fichiers dans un répertoire.
Pour une raison quelconque, mon .svn répertoires ne sont pas reconnus comme des répertoires.
Et j'obtiens le résultat suivant:
.svn pas un dir
Toutes les idées seront les bienvenues.
def rmfiles(path, pattern):
pattern = re.compile(pattern)
for each in os.listdir(path):
if os.path.isdir(each) != True:
print(each + " not a dir")
if pattern.search(each):
name = os.path.join(path, each)
os.remove(name)
OriginalL'auteur Dan | 2010-09-21
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour créer le nom de chemin complet avant de vérifier:
OriginalL'auteur unwind
Vous aurez besoin d'os.chemin d'accès.rejoindre le chemin d'accès que vous appelez listdir avec le fichier/répertoire, c'est à dire
Si vous ne créez pas un chemin d'accès absolu de cette façon vous serez en test à l'encontre de votre répertoire de travail courant dans la place, ce qui a probablement dioesn ont pas le répertoire svn.
Aussi, ne pas explicitement comparer des valeurs booléennes. Laissez-si le manipuler comme une expression booléenne (certaines fonctions peuvent retourner une valeur non Vrai/Faux la vérité des valeurs, c'est à dire Aucune ou une instance)
OriginalL'auteur Ivo van der Wijk
Vous pouvez également basculer vers le répertoire cible plutôt que de construire un chemin d'accès absolu.
OriginalL'auteur kennytm