2009-01-14 8 views
3

en double de: In Python, how do I get the path and name of the file that is currently executing?Comment trouver le chemin du script en cours d'exécution?

Je voudrais savoir le chemin du script en cours d'exécution. J'ai essayé os.getcwd() mais cela ne retourne que le répertoire dans lequel j'ai exécuté le script et non le répertoire dans lequel le script est stocké.

+0

Merci Ray, j'ai fait une recherche avant de demander mais je n'ai jamais trouvé ça. * hausser les épaules * :) – Ashy

+0

pas une grosse affaire; il m'est arrivé aussi: http://stackoverflow.com/questions/168730/how-do-i-loop-through-all-files-in-a-folder-using-python-closed –

Répondre

7

En Python, __file__ identifie le fichier Python actuel. Ainsi:

print "I'm inside Python file %s" % __file__ 

affichera le fichier Python actuel. Notez que cela fonctionne dans les modules Python importés, ainsi que dans les scripts.

1

Comment l'utilisation sys.path [0]

Vous pouvez faire quelque chose comme
'impression os.path.join (sys.path [0], sys.argv [0])'

https://docs.python.org/library/sys.html

+0

Peu probable d'être réellement correct - le script en cours d'exécution peut ne pas être le premier élément du chemin. Il pourrait être dans l'un des endroits sur le PYTHONPATH. De plus, s'il a été démarré avec python -m someModule, alors argv [0] n'est pas non plus pertinent. –

+0

@ S.Lott - A partir des documents que Pat a liés: "le premier élément de cette liste, path [0], est le répertoire contenant le script qui a été utilisé pour appeler l'interpréteur Python." donc ça devrait être correct pour ce que je veux mais j'ai décidé d'utiliser os.path.abspath (__ file__) :) – Ashy

Questions connexes