Comment supprimer un fichier et un répertoire en Python
Ce tutoriel présente comment supprimer un fichier ou un répertoire en Python 2.7 et Python 3.
Supprimer un fichier en Python
La fonction os.remove()
supprime le fichier si ce fichier existe, soulève les exceptions correspondantes si le fichier n’existe pas, ou si ce n’est pas un fichier, ou si l’utilisateur n’a pas la permission de le supprimer.
Vous pouvez d’abord vérifier si le fichier existe avec la fonction os.path.isfile()
ou utiliser la gestion des exceptions try...except
pour capturer l’erreur. Nous recommandons la gestion des exceptions comme meilleure pratique.
import os
fileTest = r"C:\Test\test.txt"
try:
os.remove(fileTest)
except OSError as e:
print(e)
else:
print("File is deleted successfully")
Il affiche File is deleted successfully
si le fichier est supprimé, et il affiche [WinError 2] The system cannot find the file specified: 'C:\\Test\\test.txt'
si le fichier n’existe pas. Et vous obtiendrez [WinError 5] Access is denied: 'C:\\Test\\test.txt'
si l’utilisateur n’a pas la permission de le supprimer.
Supprimer un répertoire en Python
shutil.rmtree()
supprime une arborescence entière de répertoires, en d’autres termes, tous les fichiers et sous-répertoires qu’elle contient. Il soulève des exceptions si l’argument d’entrée n’est pas un répertoire, ou s’il n’existe pas ou si l’utilisateur n’a pas la permission de le supprimer.
import shutil
pathTest = r"C:\Test"
try:
shutil.rmtree(pathTest)
except OSError as e:
print(e)
else:
print("The directory is deleted successfully")