93 votes

python : supprimer le dir non vide

Comment supprimer un dir éventuellement non vide en Python.

Le répertoire peut avoir des sous-répertoires imbriqués de plusieurs niveaux de profondeur.

158voto

RichieHindle Points 98544

Utiliser shutil.rmtree :

import shutil

shutil.rmtree(path)

Consultez la documentation pour plus de détails sur la façon de gérer et/ou d'ignorer les erreurs.

85voto

dghubble Points 2893

La bibliothèque standard inclut shutil.rmtree pour cela. Par défaut,

shutil.rmtree(path)  # errors if dir not empty

donnera OSError: [Errno 66] Directory not empty: <your/path>.

Vous pouvez quand même supprimer le répertoire et son contenu en ignorant l'erreur :

shutil.rmtree(role_fs_path, ignore_errors=True)

Vous pouvez effectuer une gestion des erreurs plus sophistiquée en passant également onerrror=<some function(function, path, excinfo)>.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X