Seite 1 von 1
py2exe Ausführungspfad ermitteln
Verfasst: Mittwoch 25. Juli 2007, 12:55
von george
Hallo,
ich habe mit py2exe eine *.exe erstellt. Jetzt möchte ich zur Laufzeit den Ordnerpfad der exe festellen, in dem sich diese befindet (um hier Logdateien abzuspeichern).
Wie kann ich am schnellsten den Ordnerpfad feststellen, in dem sich die exe befindet???
danke
george
Verfasst: Mittwoch 25. Juli 2007, 12:59
von birkenfeld
`sys.executable` vielleicht?
Verfasst: Mittwoch 25. Juli 2007, 13:51
von HWK
@birkenfeld:
sysexecutable - A string giving the name of the executable binary for the Python interpreter, on systems where this makes sense.
Er sucht aber doch den Ordner, in dem sich die mit py2exe erstellte exe-Datei befindet.
@george:
Was ergibt denn __file__ aus Deinem Hauptmodul?
MfG
HWK
Verfasst: Mittwoch 25. Juli 2007, 15:04
von veers
Verfasst: Mittwoch 25. Juli 2007, 15:39
von HWK
Gut zu wissen. Da hatte birkenfeld doch wieder mal recht.
MfG
HWK
Verfasst: Mittwoch 25. Juli 2007, 16:24
von george
Hallo,
@george:
Was ergibt denn __file__ aus Deinem Hauptmodul?
Das __file__ gibt den Pfad zum jeweiligen File in der library.zip.
Werde mir mal die Links von veers anschauen.
Danke und Gruss
george
Verfasst: Donnerstag 26. Juli 2007, 13:18
von Leonidas
Aus meinem Projekt, das sowohl mit ``py2exe`` funktioniert als auch ohne:
Code: Alles auswählen
def parser_dir(self):
"""Gets the path of the directory where the parsers can be found."""
try:
appdir = os.path.dirname(__file__)
if '.zip' in appdir:
# frozen exe
appdir = os.path.dirname(sys.argv[0])
except NameError:
# frozen exe, so no __file__
appdir = os.path.dirname(sys.argv[0])
pdir = os.path.join(appdir, 'parsers')
return pdir
Wenn du das ``pdir`` auslässt und stattdessen ``appdir`` verwendest, bist du fertig.