py2exe Ausführungspfad ermitteln

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
george
User
Beiträge: 109
Registriert: Mittwoch 11. Januar 2006, 20:28
Wohnort: Berlin

py2exe Ausführungspfad ermitteln

Beitragvon george » Mittwoch 25. Juli 2007, 12:55

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
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Beitragvon birkenfeld » Mittwoch 25. Juli 2007, 12:59

`sys.executable` vielleicht?
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Mittwoch 25. Juli 2007, 13:51

@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
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Beitragvon veers » Mittwoch 25. Juli 2007, 15:04

Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Mittwoch 25. Juli 2007, 15:39

Gut zu wissen. Da hatte birkenfeld doch wieder mal recht.
MfG
HWK
george
User
Beiträge: 109
Registriert: Mittwoch 11. Januar 2006, 20:28
Wohnort: Berlin

Beitragvon george » Mittwoch 25. Juli 2007, 16:24

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
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 26. Juli 2007, 13:18

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: Astorek