Seite 1 von 1

Pfad der ausgeführten .py - datei

Verfasst: Dienstag 16. September 2008, 17:06
von Krauzi
Hi,
ich suche nach einer möglichkeit, den pfad der python datei, die ich mit der python.exe aufrufe herauszubekommen.
Also z.b. habe ich eine datei in meinordner/script.py. Die Datei wird per python.exe ausgeführt. Dann wäre da ein raw_input ( in der script.py) , in dem der pfad der script.py steht. Aussehen würde das dann etwa so:
C:/balbal/blablabla/bla1234/meinordner/script.py>[Hier würde ein raw_input erfolgen]. Nur wie bekomme ich den pfad for das >?

Verfasst: Dienstag 16. September 2008, 17:11
von str1442

Code: Alles auswählen

import sys
import os

scriptpath = os.path.abspath(sys.argv[0])

raw_input_text = "%s>" % scrictpath

Verfasst: Dienstag 16. September 2008, 17:33
von abgdf

Code: Alles auswählen

import os; print os.getcwd()
?

Verfasst: Dienstag 16. September 2008, 18:26
von lunar
Der Pfad des ausgeführten Programms:

Code: Alles auswählen

os.path.abspath(sys.argv[0])
Der Pfad des aktuellen Moduls

Code: Alles auswählen

scriptpath = os.path.abspath(__file__)
Das Arbeitsverzeichis

Code: Alles auswählen

os.getcwd()
Die Unterschiede verrät Google.

Verfasst: Dienstag 16. September 2008, 18:29
von Sr4l
abgdf hat geschrieben:

Code: Alles auswählen

import os; print os.getcwd()
?
das gibt nur das "current working" aus also wenn du dein script mit:

Code: Alles auswählen

cd /home
python sr4l/scripts/lol.py
öffnest ist das CWD /home

den rest hat Lunar schön zusammen gefasst. ;-)

Verfasst: Mittwoch 14. Januar 2009, 10:29
von azami1986
Hallo Leute,

Mit dem folgenden Befehl

Code: Alles auswählen

 os.path.abspath(sys.argv[0]) 
bekomme ich den Pfad des ausgeführten Programms heraus.

Zum Beispiel bekomme ich C:\tmp\myPathonfile.py was ja auch richtig ist.

Wie könnte man den Pfad herauskriegen, ohne dabei die ausgeführte Datei im Pfad zu haben?, also nur C:\tmp\

Gruß,
Azami

Verfasst: Mittwoch 14. Januar 2009, 10:38
von lunar
os.path.dirname()

Verfasst: Mittwoch 14. Januar 2009, 10:40
von C4S3
os.path.dirname()

edit: Mist, zu spät.