HOWTO · Python

Obtenir le chemin absolu en Python

Il démontre comment obtenir le chemin d'accès absolu d'un fichier en Python

Sur cette page

Ce tutoriel montre comment obtenir le chemin absolu d’un fichier ou d’un dossier en Python.

Utilisez abspath() pour obtenir le chemin absolu en Python

Sous le module Python, os sont des fonctions utilitaires et des propriétés utiles qui manipulent et accèdent aux chemins de fichiers sous la propriété os.path. Pour obtenir le chemin absolu en utilisant ce module, appelez path.abspath() avec le chemin donné pour obtenir le chemin absolu.

import os

simp_path = "demo/which_path.docx"
abs_path = os.path.abspath(simp_path)

print(abs_path)

La sortie de la fonction abspath() renverra une valeur de chaîne du chemin absolu relative au répertoire de travail en cours.

La sortie :

/Users/user/python/demo/which_path.docx

Utilisez le module pathlib pour obtenir le chemin absolu en Python

Le module Python pathlib offre des fonctions similaires à os.path et contient des classes représentant des chemins de fichiers avec leurs propriétés et fonctions correspondantes utilisées pour la manipulation et l’accès aux chemins.

Pour obtenir le chemin absolu en utilisant pathlib, importez la classe Path du module pathlib et utilisez la fonction Path.absolute() de cette classe pour déterminer le chemin absolu d’un fichier ou d’un dossier donné.

from pathlib import Path

fpath = Path("sample2.py").absolute()

print(fpath)

La définition du chemin absolu en tant que paramètre est également prise en charge et l’imprimera directement au lieu d’ajouter les dossiers racine et de le rendre redondant.

from pathlib import Path

fpath = Path("/Users/user/python/sample2.py").absolute()

print(fpath)

Les deux instances produiront le même résultat :

/Users/user/python/sample2.py

En résumé, il y a deux façons simples d’obtenir le chemin absolu d’un fichier ou d’un dossier en Python sous les modules os et pathlib. Du point de vue des performances, les deux solutions sont relativement rapides, et ce n’est qu’une question de préférence quant à la solution que le développeur veut utiliser.