Je reçois une erreur «Accès refusé» lorsque j'essaie de supprimer un dossier qui n'est pas vide. J'ai utilisé la commande suivante dans ma tentative: os.remove("/folder_name")
. Quel est le moyen le plus efficace de supprimer / supprimer un dossier / répertoire qui n'est pas vide? Merci d'avance.
Réponses
Trop de publicités?
kkubasik
Points
1311
A partir des docs python sur os.walk()
:
# Delete everything reachable from the directory named in 'top',
# assuming there are no symbolic links.
# CAUTION: This is dangerous! For example, if top == '/', it
# could delete all your disk files.
import os
for root, dirs, files in os.walk(top, topdown=False):
for name in files:
os.remove(os.path.join(root, name))
for name in dirs:
os.rmdir(os.path.join(root, name))
P M
Points
442
Si vous êtes sûr, que vous souhaitez supprimer l’arborescence entière dir et ne sont pas plus intéressé par le contenu du répertoire, puis rampant pour dir tout arbre est stupidness... juste appeler commande OS native de python pour faire cela. Il sera plus rapide, efficace et moins de consommation de mémoire.
ou * nix
En python, le code ressemblera...