Accéder au contenu principal

Comment supprimer un fichier en Python

La gestion des fichiers est un aspect crucial de la manipulation des codes. Une partie de ces compétences consiste à savoir comment supprimer un fichier. Dans ce tutoriel, nous couvrons les multiples façons de supprimer un fichier en Python, ainsi que les meilleures pratiques pour le faire.
Actualisé 14 nov. 2024  · 5 min de lecture

La gestion des fichiers est une tâche de codage courante qui s'effectue facilement au sein d'un script Python . La suppression d'un fichier indésirable est un élément clé de la gestion des fichiers. Voyons comment supprimer un fichier à l'aide de Python.

Quand supprimer un fichier et quand ne pas le faire

Avant d'apprendre à supprimer un fichier à l'aide de Python, examinons brièvement les cas où vous souhaiteriez supprimer un fichier.

La suppression de fichiers peut faire partie d'une maintenance périodique de routine visant à libérer de l'espace sur le disque dur et à réduire l'encombrement. Mais le plus souvent, la suppression de fichiers peut faire partie intégrante d'un projet de codage afin d'éviter tout encombrement ou confusion inutile.

Votre code peut générer des fichiers temporaires pour la mise en cache ou l'enregistrement, qui ne sont utiles que pendant une courte période et doivent ensuite être supprimés. Vous pouvez générer des fichiers en double, intentionnellement ou par le biais de tests, qui doivent ensuite être nettoyés.

Dans d'autres cas, des informations personnelles sensibles peuvent devoir être supprimées pour des raisons de sécurité.

Cependant, vous voulez vous assurer que les informations essentielles ne sont pas perdues et que seuls les fichiers indésirables sont supprimés. Il est conseillé de conserver une ou plusieurs copies de sauvegarde des informations importantes, régulièrement mises à jour, afin d'éviter toute perte accidentelle.

Une règle générale que je suis est de conserver une copie locale, ainsi qu'une copie dans le cloud, de toute information importante. Cependant, dans certaines situations, d'autres dispositifs de sauvegarde sont nécessaires, et vous devez toujours tenir compte de la sécurité de vos données. Quelle que soit votre situation, assurez-vous que seuls les fichiers indésirables sont supprimés.

Utilisation de os.remove()

L'une des façons les plus simples de supprimer un fichier en Python est d'utiliser la fonction remove() du module os. Cette méthode est concise et bien adaptée aux tâches simples de suppression de fichiers.

import os file_path = 'example.txt'

try: os.remove(file_path)
print(f"File '{file_path}' deleted successfully.")

except FileNotFoundError: print(f"File '{file_path}' not found.")

Dans cet exemple, nous essayons de supprimer le fichier spécifié par file_path. Si le fichier est présent et qu'il est supprimé avec succès, un message de réussite est imprimé. Si le fichier n'est pas trouvé, il gère gracieusement le site FileNotFoundError et affiche le message "Fichier 'exemple.txt' introuvable".

Cependant, n'oubliez pas qu'une fois qu'un fichier est supprimé, il est souvent impossible de le récupérer. Veillez donc à mettre en place des contrôles afin de ne pas supprimer accidentellement un fichier dont vous avez besoin. Ce problème est particulièrement préoccupant dans le cas des processus automatisés.

Principaux enseignements: Pour les besoins de suppression rapide et ponctuelle de fichiers dans le cadre de l'analyse de données, os.remove() est un outil pratique.

Traitement robuste avec os.path.exists()

Il est essentiel de gérer les scénarios dans lesquels le fichier peut ne pas exister. L'exemple précédent générait une erreur si le fichier n'existait pas, ce qui n'est pas toujours préférable. L'utilisation de os.path.exists() avant la suppression peut empêcher cela.

import os file_path = 'example.txt'
if os.path.exists(file_path): os.remove(file_path)
print(f"File '{file_path}' deleted successfully.")
else: print(f"File '{file_path}' not found.")

En vérifiant l'existence du fichier à l'aide de os.path.exists(), vous pouvez éviter les erreurs potentielles et améliorer la fiabilité du script. Cette fonction est particulièrement utile lorsqu'il s'agit de modifier des chemins d'accès à des fichiers dans le cadre de projets d'analyse de données.

Lorsque les chemins d'accès aux fichiers peuvent changer de manière dynamique, il est prudent de vérifier l'existence d'un fichier avant de le supprimer afin d'éviter les erreurs et d'ajouter une couche de sécurité supplémentaire à vos scripts. Vous pouvez découvrir d'autres bonnes pratiques de ce type dans ce guide d'expert Python.

Principale conclusion: os.path.exists() vous permet de vérifier l'existence d'un fichier avant de le supprimer.

Utiliser shutil pour supprimer des répertoires

Pour les scénarios plus complexes, en particulier lorsqu'il s'agit de répertoires, la fonction rmtree() du module shutil constitue une solution efficace. Cette méthode est pratique lorsque vous devez supprimer un répertoire entier et son contenu.

import shutil directory_path = 'example_directory'
try: shutil.rmtree(directory_path)
print(f"Directory '{directory_path}' and its contents deleted successfully.")
except FileNotFoundError: print(f"Directory '{directory_path}' not found.")

Principaux enseignements: Lorsqu'il s'agit de supprimer des répertoires entiers, shutil.rmtree() est polyvalent, efficace et vous évite d'écrire une logique de suppression récursive complexe.

Suppression sécurisée avec send2trash

Si vous souhaitez un filet de sécurité avant de supprimer définitivement un fichier, la bibliothèque send2trash offre une solution pratique. Il déplace le fichier dans la corbeille du système, ce qui permet de le récupérer facilement si nécessaire. Cependant, cela ajoute une deuxième étape à la suppression ; à un moment donné, vous devrez vider votre corbeille/récupérateur.

from send2trash import send2trash
file_path = 'example.txt' try: send2trash(file_path)
print(f"File '{file_path}' sent to trash successfully.")
except FileNotFoundError: print(f"File '{file_path}' not found.")

Principale leçon à retenir: send2trash offre un filet de sécurité avant la suppression irrévocable d'un fichier, mais ajoute une étape supplémentaire.

Meilleures pratiques et conseils pour l'effacement de fichiers en Python

Lorsque vous supprimez un fichier à l'aide d'un code, vous devez tenir compte de quelques bonnes pratiques.

  1. Assurez-vous toujours que vous supprimez le bon fichier. Si vous n'êtes pas sûr de vous, l'ajout d'un filet de sécurité comme send2trash peut être une décision judicieuse.
  2. Vérifiez l'existence du fichier ou du répertoire que vous souhaitez supprimer avant de l'effacer. Vous éviterez ainsi les erreurs et les problèmes de sécurité.
  3. Sauvegardez toujours régulièrement les fichiers et informations importants. Vous ne voulez pas qu'une suppression accidentelle de fichier entraîne des problèmes commerciaux majeurs.
  4. Testez votre code de suppression de fichiers avant de le déployer. Ceci est particulièrement important pour les processus automatisés. Vous ne voulez pas laisser un code de suppression non testé se déchaîner.

Pour en savoir plus, consultez ce tutoriel sur les meilleures pratiques de codage à mettre en œuvre.

Conclusion

La suppression de fichiers ou de répertoires inutiles est une tâche de codage courante et une bonne pratique de gestion des fichiers. Mais comme la suppression est souvent permanente, il est essentiel de le faire avec précaution.

Tenez toujours compte de la nature de vos besoins en matière d'analyse de données et de l'impact potentiel de la suppression de fichiers sur votre flux de travail. Apprenez-en plus sur la gestion des fichiers en suivant le cours DataCamp sur les concepts de la gestion des données. Pensez au cursus de carrière Data Scientist ou au cursus de carrière Python Programmer pour en savoir plus sur l'utilité de la gestion des fichiers pour les projets de données.


Amberle McKee's photo
Author
Amberle McKee
LinkedIn

Je suis titulaire d'un doctorat et j'ai 13 ans d'expérience dans le traitement des données dans un environnement de recherche biologique. Je crée des logiciels dans plusieurs langages de programmation, notamment Python, MATLAB et R. Je suis passionné par le partage de mon amour de l'apprentissage avec le monde.

Sujets

Continuez à apprendre Python ! 

Cursus

Python Data Fundamentals

28hrs hr
Grow your data skills, discover how to manipulate and visualize data, and apply advanced analytics to make data-driven decisions.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

15 min

blog

2022-2023 Rapport annuel DataCamp Classrooms

À l'aube de la nouvelle année scolaire, DataCamp Classrooms est plus motivé que jamais pour démocratiser l'apprentissage des données, avec plus de 7 650 nouveaux Classrooms ajoutés au cours des 12 derniers mois.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 min

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.

Réparties entre nos deux programmes d'impact social, DataCamp Classrooms et #DCDonates, les bourses offrent un accès illimité à tout ce que DataCamp Premium a à offrir.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Découvrez le parcours inspirant de Saghar Hazinyar, diplômée de Code to Inspire, qui a surmonté les défis en Afghanistan et s'est épanouie grâce à une bourse de DataCamp Donates.
Fereshteh Forough's photo

Fereshteh Forough

4 min

Voir plusVoir plus