Le module pathlib en Python

Python- module pathlib - manipulation des fichiers et dossiers

Le module pathlib est un module de la bibliothèque standard Python permettant de créer et de manipuler facilement les chemins des fichiers et des dossiers. Il propose une approche moderne et orientée objet de la gestion des chemins.

 

1. À propos du module pathlib Python

Le module pathlib fournit plusieurs classes permettant de représenter les chemins du système de fichiers. La classe la plus utilisée est Path. Un objet Path peut représenter aussi bien un fichier qu'un dossier.

pathlib fait partie de la bibliothèque standard de Python. Il n'est donc pas nécessaire de l'installer avec pip. Pour l'utiliser, nous pouvons importer directement la classe Path.

Dans l'exemple suivant, nous créons un objet Path représentant le dossier documents, puis nous affichons le chemin obtenu.

Sortie :

Contrairement à une simple chaîne de caractères, un objet Path dispose de nombreuses propriétés et méthodes permettant de manipuler directement le chemin.

 

2. Créer un chemin avec Path

La classe Path permet de créer un chemin à partir d'une chaîne de caractères. Ce chemin peut représenter un fichier ou un dossier.

L'exemple suivant crée un chemin relatif vers le fichier cours.txt situé dans le dossier documents.

Sortie :

La méthode Path.cwd() permet d'obtenir le répertoire de travail courant du programme Python.

Sortie possible :

La méthode Path.home() permet d'obtenir le répertoire personnel de l'utilisateur actuellement connecté.

Sortie possible :

 

3. Obtenir des informations sur un chemin

Les objets Path possèdent plusieurs propriétés permettant d'extraire les différentes parties d'un chemin. Parmi les plus importantes figurent name, stem, suffix et parent.

L'exemple suivant récupère le nom du fichier, son nom sans extension, son extension et son dossier parent.

Sortie :

La propriété parts permet de décomposer un chemin en plusieurs composants.

Sortie :

 

4. Construire et combiner des chemins

L'un des avantages importants de pathlib est la possibilité de construire des chemins à l'aide de l'opérateur /. Il n'est donc pas nécessaire de concaténer manuellement les chaînes représentant les dossiers et les fichiers.

Dans l'exemple suivant, nous construisons progressivement le chemin vers le fichier cours.pdf.

Sortie :

La méthode resolve() permet d'obtenir le chemin absolu correspondant à un chemin relatif.

Sortie possible :

 

5. Tester l'existence et le type d'un chemin

La méthode exists() permet de vérifier si un chemin existe réellement sur le système. Elle retourne True si le chemin existe et False dans le cas contraire.

L'exemple suivant vérifie si le dossier documents existe.

Sortie possible :

Les méthodes is_file() et is_dir() permettent de déterminer respectivement si le chemin représente un fichier ou un dossier.

Sortie possible :

 

6. Parcourir le contenu d'un dossier

La méthode iterdir() permet de parcourir les fichiers et les sous-dossiers contenus directement dans un dossier. Chaque élément obtenu est un objet Path.

Dans l'exemple suivant, nous affichons tous les éléments présents dans le dossier documents.

Sortie possible :

Nous pouvons également utiliser is_file() afin de n'afficher que les fichiers du dossier.

Sortie possible :

 

7. Rechercher des fichiers avec glob() et rglob()

La méthode glob() permet de rechercher des fichiers correspondant à un motif. Par exemple, le motif *.txt permet de rechercher les fichiers possédant l'extension .txt.

L'exemple suivant recherche tous les fichiers texte présents directement dans le dossier documents.

Sortie possible :

La méthode rglob() effectue une recherche récursive. Elle permet donc de rechercher également dans les sous-dossiers.

Sortie possible :

 

8. Créer des fichiers et des dossiers

La méthode mkdir() permet de créer un nouveau dossier. L'option exist_ok=True évite de provoquer une erreur lorsque le dossier existe déjà.

L'exemple suivant crée un dossier nommé python.

Sortie :

Pour créer plusieurs niveaux de dossiers en une seule opération, nous pouvons utiliser l'option parents=True.

Sortie :

La méthode touch() permet de créer un fichier vide s'il n'existe pas.

Sortie :

 

9. Lire et écrire dans un fichier

La méthode write_text() permet d'écrire directement du texte dans un fichier. Si le fichier n'existe pas, il est créé. S'il existe déjà, son contenu est remplacé.

Dans l'exemple suivant, nous écrivons une phrase dans le fichier cours.txt.

Sortie :

La méthode read_text() permet ensuite de lire directement le contenu textuel du fichier.

Sortie :

Pour les fichiers binaires, pathlib propose également les méthodes read_bytes() et write_bytes().

 

10. Renommer, déplacer et supprimer des fichiers

La méthode rename() permet de renommer un fichier ou un dossier. Dans l'exemple suivant, le fichier cours.txt est renommé en python.txt.

Sortie :

La méthode rename() peut également servir à déplacer un élément lorsque le chemin de destination désigne un autre dossier, sous réserve des règles du système de fichiers utilisé.

Sortie :

La méthode unlink() permet de supprimer un fichier.

Sortie :

La méthode rmdir() permet de supprimer un dossier vide. Elle provoque une erreur si le dossier contient encore des fichiers ou des sous-dossiers.

Sortie :

 

11. Manipuler les noms et extensions des fichiers

La propriété suffix permet de récupérer l'extension d'un fichier tandis que stem retourne son nom sans la dernière extension.

L'exemple suivant récupère ces informations pour le fichier cours.pdf.

Sortie :

La méthode with_suffix() permet de construire un nouveau chemin en remplaçant l'extension du fichier. Elle ne convertit pas le contenu du fichier.

Sortie :

La méthode with_name() permet de remplacer le nom final d'un chemin.

Sortie :

 

12. Principales propriétés et méthodes de pathlib

La classe Path fournit de nombreuses propriétés et méthodes. Voici les plus utiles à connaître pour commencer à travailler avec le module pathlib.

Propriété ou méthodeDescription
Path()Crée un objet représentant un chemin.
Path.cwd()Retourne le répertoire de travail courant.
Path.home()Retourne le répertoire personnel de l'utilisateur.
nameRetourne le nom final du fichier ou du dossier.
stemRetourne le nom final sans la dernière extension.
suffixRetourne la dernière extension du fichier.
parentRetourne le chemin du dossier parent.
partsDécompose le chemin en plusieurs composants.
exists()Vérifie si le chemin existe.
is_file()Vérifie si le chemin correspond à un fichier.
is_dir()Vérifie si le chemin correspond à un dossier.
iterdir()Parcourt le contenu direct d'un dossier.
glob()Recherche des éléments correspondant à un motif.
rglob()Effectue une recherche récursive à partir d'un dossier.
mkdir()Crée un dossier.
touch()Crée un fichier ou met à jour sa date de modification.
read_text()Lit le contenu textuel d'un fichier.
write_text()Écrit du texte dans un fichier.
read_bytes()Lit le contenu binaire d'un fichier.
write_bytes()Écrit des données binaires dans un fichier.
resolve()Retourne une représentation absolue du chemin.
rename()Renomme ou déplace un fichier ou un dossier.
unlink()Supprime un fichier ou un lien symbolique.
rmdir()Supprime un dossier vide.
with_name()Construit un chemin avec un autre nom final.
with_suffix()Construit un chemin avec une autre extension.

Le module pathlib constitue ainsi une solution moderne et pratique pour travailler avec les fichiers, les dossiers et les chemins en Python. Il permet de remplacer de nombreuses manipulations traditionnellement réalisées avec os.path par une syntaxe orientée objet souvent plus lisible.

Voir Aussi

 

 


Auteur : Younes Derfoufi
Lieu de travail
: CRMEF OUJDA
Site Web
: www.tresfacile.net
Chaine YouTube
: https://www.youtube.com/user/InformatiquesFacile
Me contacter
: https://www.tresfacile.net/me-contacter/


Leave a Reply

Your email address will not be published. Required fields are marked *