Obtenir le chemin du fichier actuel en Python
-
Utilisation du module
pathlib
pour obtenir le chemin des fichiers et le répertoire de travail actuel -
Utilisez le module
os
pour obtenir le chemin des fichiers et le répertoire de travail actuel
En Python, nous pouvons travailler avec de nombreux fichiers et modules et interagir constamment avec le système de fichiers. Pour importer ou exporter des fichiers, nous devons connaître le chemin et le répertoire corrects de ces fichiers ; sinon, des erreurs se produisent. Il est également essentiel de connaître le chemin du script Python en cours d’exécution ou le chemin d’un autre fichier.
Le répertoire de travail actuel est le répertoire de Python dans lequel nous travaillons actuellement.
Ce tutoriel présente la manière d’obtenir le chemin et les répertoires complets du fichier actuel et du répertoire de travail actuel en Python.
Utilisation du module pathlib
pour obtenir le chemin des fichiers et le répertoire de travail actuel
La bibliothèque pathlib
est disponible pour Python 3.x et plus et contient des classes, des méthodes pour gérer les problèmes liés aux chemins de fichiers.
Dans le code ci-dessous, nous allons extraire le chemin d’un script Python en utilisant les fonctions fournies par le module pathlib
:
import pathlib
print(pathlib.Path(__file__).parent.absolute())
Production :
C:\Sample\Python
La méthode absolute()
renvoie le chemin complet du fichier, et la fonction parent()
récupère le répertoire du fichier à partir de ce chemin.
Pour obtenir le répertoire de travail actuel, nous retirons le nom du fichier de la fonction ci-dessus. Le code suivant montre comment :
import pathlib
print(pathlib.Path().absolute())
Production :
C:\Sample\Python
Utilisez le module os
pour obtenir le chemin des fichiers et le répertoire de travail actuel
La bibliothèque os
est utilisée pour interagir avec le système d’exploitation et dispose de fonctions permettant de récupérer les chemins complets des fichiers. Cette méthode fonctionne également avec Python 2.x.
La fonction abspath()
peut obtenir le chemin du fichier requis, et la fonction dirname()
récupère le répertoire à partir du chemin complet.
Par exemple :
import os
print(os.path.dirname(os.path.abspath(__file__)))
Production :
C:\Sample\Python
Nous ne pouvons pas utiliser la fonction dirname()
directement pour obtenir le répertoire d’un fichier car elle renvoie une chaîne vide.
Nous pouvons également utiliser la fonction realpath()
comme alternative à la fonction abspath()
. Elle supprime du chemin tout lien symbolique s’il est présent.
import os
print(os.path.dirname(os.path.realpath(__file__)))
Production :
C:\Sample\Python
Pour obtenir le répertoire de travail courant, nous pouvons utiliser la fonction getcwd()
qui renvoie le chemin du répertoire courant. Nous pouvons passer ce chemin à la fonction dirname()
pour obtenir le répertoire.
Par exemple :
import os
print(os.path.abspath(os.getcwd()))
Production :
C:\Sample\Python
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn