J'écris un code en Python, dans lequel je vérifie si un certain dossier existe; si c'est le cas, je l'enlève et en crée un nouveau (avec le même nom). Le code est le suivant:Python lance une erreur lors de la suppression d'un répertoire qui est ouvert avec Windows Explorer
if os.path.exists(output_folder):
shutil.rmtree(output_folder)
os.makedirs(output_folder)
Ce code fonctionne très bien, accepter quand je output_folder
que spécifique ouvert avec le windows explorer
. Quand il est ouvert, je reçois l'erreur suivante dans mon code:
WindowsError: [Error 5] Access is denied: [foldername]
Simultanément, windows explorer
se met automatiquement au répertoire parent de foldername
, et renvoie une erreur.
Existe-t-il un moyen de faire en sorte que python ignore l'erreur et continue de fonctionner, ou est-ce que je demande quelque chose qui est impossible à cause du système?
J'ai essayé d'utiliser shutil.rmtree(output_folder, ignore_errors=True)
mais cela n'a rien changé.
Merci @MartinEvans; Je pense que «dormir» est ce qui a fait le travail, parce qu'il ne jette pas l'exception. – Cheshie