Supprimer tout le contenu dans le dossier avec Python
Suivantes cette réponse, je suis en train de supprimer le contenu d'un dossier avec ce code
import os
import glob
files = glob.glob('/YOUR/PATH/*')
for f in files:
os.remove(f)
Mais python renvoie une Attribution d'Erreur "'str' object n'a pas d'attribut "supprimer"". Que suis-je fais de mal?
Vous semble être l'affectation d'une chaîne à la variable
os.remove() prend un chemin d'accès en tant que paramètre. f est le nom de fichier ici.
Pourriez-vous s'il vous plaît poster plein de sperme pour la
os
. Vous n'avez pas de code. Est-ce que tout votre code?os
n'est pas la variable ici. Et oui, c'est tout mon code. Toujours pas de problème résolu.os.remove() prend un chemin d'accès en tant que paramètre. f est le nom de fichier ici.
Pourriez-vous s'il vous plaît poster plein de sperme pour la
AttributeError
exception.OriginalL'auteur Ricardo Dahis | 2016-01-25
Vous devez vous connecter pour publier un commentaire.
Pour la suppression d'un répertoire complet, utiliser
shutil.rmtree('/your/path')
Lire la suite de Python docs
Découvrez une semblable question qui a déjà été répondu
Vous pouvez toujours recréer le répertoire vide une fois que tout est supprimé. Vous n'avez pas à boucle à travers les différents fichiers
Merci Bob! Je fais cela à l'intérieur d'une boucle, comme
for folder in ['/folder1', '/folder2']: shutil.rmtree(path+folder) os.mkdir(path+folder)
Maisos.mkdir
renvoie "'str' object n'a pas d'attribut 'mkdir'".Vous avez endommagé votre
os
d'importation. Vous vraiment ne semblent avoir affecté une chaîne deos
. Comment au sujet de l'affichage de la pleine de sperme?Suis se douter que quelque chose est incorrect avec le chemin d'accès que vous fournissez. Essayez os.mkdir(os.chemin d'accès.join(chemin d'accès, dossier))
OriginalL'auteur Bob Ezuba
Comme Bob Ezuba dit dans son réponse,
shutil.rmtree()
est une meilleure façon de le faire. Vous pouvez recréer le répertoire si nécessaire.À l'aide de
glob.glob('/your/path/*')
ne trouverez pas de fichiers cachés nommé avec l'un des principaux.
. Vous pourriez l'appelerglob()
plusieurs fois, mais qui devient laid. Niglob()
vous permettent de différencier entre les fichiers et les répertoires, il est difficile de retirer des sous-répertoires.shutil.rmtree()
va supprimer tous les fichiers et sous-répertoires.Sinon, vous pouvez renommer le répertoire, de le recréer à nouveau, puis
rmtree()
l'ancien. Ce pourrait être le meilleur si vous avez des procédés de l'écriture de fichiers dans le répertoire. Et il ne laissera pas votre répertoire dans un désordre sirmtree()
ne parvient pas à supprimer certains fichiers, par exemple en raison d'autorisations.OriginalL'auteur mhawke