Contenu du cours
Concepts Avancés de Python
Concepts Avancés de Python
Travailler Avec les Chemins de Fichiers
Dans les chapitres précédents, nous avons travaillé avec des fichiers dans le répertoire racine sans spécifier de chemins de fichiers. Maintenant, plongeons plus profondément dans ce sujet pour nous assurer que nous sommes pleinement équipés.
Gestion des chemins de fichiers sur différents systèmes d'exploitation
Les chemins de fichiers varient considérablement entre les systèmes d'exploitation. Par exemple, Windows utilise des barres obliques inversées (\
) pour séparer les segments de chemin, tandis que macOS et Linux utilisent des barres obliques (/
). Python fournit plusieurs outils pour gérer ces différences de manière transparente, principalement via les modules os
et pathlib
.
Utilisation du module os
Le module os
comprend des utilitaires pour des manipulations de chemin fiables à travers différents environnements OS. Voici quelques fonctions clés :
os.path.join()
: joint intelligemment un ou plusieurs composants de chemin ;os.path.abspath()
: retourne un chemin absolu pour le chemin donné ;os.path.basename()
: retourne le nom de base du chemin ;os.path.dirname()
: retourne le nom du répertoire du chemin ;
Exemple :
import os # Correctly joins parts of a file path according to the OS conventions file_path = os.path.join('my_dir', 'sub_dir', 'file.txt') print(file_path)
Utilisation du module pathlib
Introduit dans Python 3.4, pathlib offre une approche orientée objet pour gérer les chemins du système de fichiers. Il encapsule les chemins du système de fichiers en une série d'objets fournissant un accès au système de fichiers.
from pathlib import Path # Creating a Path object that is agnostic to the OS p = Path('my_dir') / 'sub_dir' / 'file.txt' print(p)
En Python, lors de l'utilisation sous Windows, vous pouvez utiliser la barre oblique (/
) de style Linux pour les chemins de fichiers ; Python gère cela automatiquement. Il n'est pas nécessaire d'impliquer des bibliothèques supplémentaires à cet effet. Le module pathlib
est principalement utile pour manipuler ces chemins de manière pratique. Au lieu d'analyser les chemins manuellement à chaque fois, pathlib
vous permet de travailler avec les chemins en tant qu'objets, simplifiant les opérations et améliorant la lisibilité du code.
Merci pour vos commentaires !