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.