trouver le chemin absolu vers un fichier à partir de python
Si j'ai un fichier test.py
qui se trouve dans un répertoire, comment puis-je savoir à partir de test.py
ce répertoire, il est en? {[2] } donnera le répertoire courant mais pas le répertoire où se trouve le fichier. Si j'invoque test.py
depuis un répertoire foo
, os.curdir
retourne foo
mais pas le chemin de test.py
.
Merci.
5 réponses
Voici comment obtenir le répertoire du fichier courant:
import os
os.path.abspath(os.path.dirname(__file__))
La réponse est d'utiliser:
__file__
Qui renvoie un chemin relatif.
os.path.abspath(__file__)
Peut être utilisé pour obtenir le chemin complet.
Les réponses jusqu'à présent vous ont correctement indiqué os.path.abspath
, qui fait exactement le travail que vous avez demandé. Cependant, n'oubliez pas que os.chemin.normpath et os.path.realpath
peuvent également être très utiles dans ce genre de tâches (pour normaliser la représentation, et supprimer les liens symboliques, respectivement) dans de nombreux cas (si votre cas d'utilisation spécifique tombe parmi ces "nombreux" est impossible à dire à partir du peu d'informations que nous avons, bien sûr;-).
import os
dirname, filename = os.path.split(os.path.abspath(__file__))
os.path
a beaucoup d'outils pour traiter les chemins et obtenir des informations sur les chemins.
En particulier, vous voulez:
os.path.abspath