Comment gérer ses dossiers avec Python et le module os ?
Sommaire
I. Présentation
Dans ce tutoriel, nous allons apprendre à gérer nos dossiers avec Python, et de manière uniforme, que ce soit sous Linux ou Windows.
Le module os est un module standard de Python, disponible par défaut avec toute installation de Python 3. Il offre une multitude de fonctions pour manipuler les dossiers et interagir avec le système d’exploitation.
Si vous êtes nouveau en Python, je vous recommande de consulter notre article d’introduction pour installer les prérequis et acquérir les bases du langage :
Par ailleurs, pour la gestion des fichiers avec Python, retrouvez ce tutoriel :
- IT-Connect – Gérer les fichiers avec Python
Pour suivre ce tutoriel, je vous conseille d’utiliser le mode interactif de Python plutôt qu’un script. Cela rend l’apprentissage plus dynamique et interactif.
II. Importer le module OS
Pour commencer à utiliser le module , il est nécessaire de l’importer dans votre session interactive ou script Python. Cela se fait simplement avec l’instruction suivante :
Vous pouvez ensuite lister toutes les fonctions de ce module grâce à l’instruction suivante :
Cette commande affichera une liste des attributs et des méthodes disponibles dans le module . Nous n’utiliserons pas toutes les fonctions du module, mais nous nous concentrerons sur celles qui sont pertinentes pour la gestion des dossiers.
Pour plus d’informations sur une fonction spécifique, voici le lien de la documentation officielle : Documentation du module os. Cependant, celle-ci n’est pas simple à lire pour des débutants, nous allons donc voir quelques cas concrets dans cet article.
III. Utilisation des fonctions de gestion des dossiers
A. Lister les dossiers
Pour lister les dossiers et fichiers dans un répertoire donné, nous utilisons la fonction . Voici un exemple :
Cette fonction retourne une liste des noms des entrées dans le répertoire spécifié. Voyez plutôt :
Nous pouvons également lister la fonction permet de parcourir un répertoire et d’obtenir des informations sur chaque entrée. Elle retourne un objet .
Dans le tutoriel précédent, nous avons vu la fonction , qui permet de vérifier si un chemin mène à un fichier ou un dossier.
B. Changer de répertoire
Pour changer le répertoire de travail courant, nous utiliserons la fonction . Voici un exemple :
Cette fonction change le répertoire courant pour le script en cours d’exécution. A tout moment, vous pouvez contrôle le répertoire dans lequel se trouve votre script avec la fonction , pour Get Current Working Directory :
Voici par exemple un bout de code qui contrôle si l’on est dans le répertoire et qui nous y positionne si ce n’est pas le cas :
C. Gérer la suppression des dossiers
Nous avons vu dans le tutoriel précédent sur la gestion de fichier que pour supprimer un fichier, nous pouvons utiliser la fonction . Cette fonction supprime le fichier spécifié par le chemin donné.
La suppression d’un répertoire vide passe par la fonction . Pour supprimer un répertoire vide et tous ses sous-répertoires vides, nous pouvons utiliser la fonction .
Dans le cas où le répertoire ciblé n’est pas vide, nous rencontrerons l’erreur suivante :
Avec tout ce que nous venons d’apprendre, nous pouvons néanmoins supprimer tous les fichiers qui se trouvent dans le répertoire et ses sous-répertoires, puis supprimer le répertoire qui sera alors vide :
D. Renommer ou déplacer un fichier ou un répertoire
Pour renommer ou déplacer un fichier ou un répertoire, nous pouvons utiliser la même fonction que pour les fichiers, la fonction . Cette fonction prend deux arguments : le chemin source et le chemin de destination.
Cette instruction fonctionnera pour déplacer un dossier, même si celui-ci contient des fichiers.
E. Créer un ou plusieurs dossiers
Pour créer un dossier avec Python, on peut utiliser la fonction , qui s’utilise finalement comme la commande sous Linux ou Windows :
Cependant, cette fonction ne permet de créer qu’un seul niveau à la fois. Si l’on souhaite créer un chemin de répertoires imbriqués (par exemple ), il faut utiliser la fonction .
Cette commande créera tous les dossiers du chemin s’ils n’existent pas encore. Si le chemin existe déjà, une exception de type sera levée.
Pour éviter cette erreur, on peut ajouter le paramètre :
Cela permet d’écrire des scripts plus robustes, surtout lorsqu’on ne sait pas à l’avance si les dossiers existent déjà.
IV. Conclusion
Le module est un très utile pour gérer les dossiers, les fichiers et interagir avec le système d’exploitation de manière uniforme, que ce soit sous Linux ou Windows.
En maîtrisant ces fonctions de base, vous serez en mesure de créer des scripts Python efficaces pour automatiser la gestion de vos fichiers.