Dupliquer:
En Python, comment puis-je obtenir le chemin et le nom du fichier en cours d'exécution?
Comment puis-je obtenir le chemin d'un script Python dans lequel je cours? Je faisais dirname(sys.argv[0])
, cependant sur Mac, je ne reçois que le nom du fichier - pas le chemin complet comme je le fais sous Windows.
Où que mon application soit lancée, je souhaite ouvrir les fichiers relatifs à mes fichiers de script.
os.path.realpath(__file__)
vous donnera le chemin du fichier actuel, en résolvant les liens symboliques dans le chemin. Cela fonctionne bien sur mon mac.
7.2 de Plonger dans Python: Trouver le chemin .
import sys, os
print('sys.argv[0] =', sys.argv[0])
pathname = os.path.dirname(sys.argv[0])
print('path =', pathname)
print('full path =', os.path.abspath(pathname))
import os
print os.path.abspath(__file__)
La solution acceptée pour cela ne fonctionnera pas si vous envisagez de compiler vos scripts avec py2exe. Si vous envisagez de le faire, voici l'équivalent fonctionnel:
os.path.dirname(sys.argv[0])
Py2exe ne fournit pas de variable __file__
. Pour référence: http://www.py2exe.org/index.cgi/Py2exeEnvironment