__file__ in python binary

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.
pot
User
Beiträge: 55
Registriert: Sonntag 4. März 2007, 00:57
Wohnort: Frauenfeld, CH

__file__ in python binary

Beitragvon pot » Mittwoch 30. April 2008, 17:10

Hallo

Folgender Dateiinhalt, um das Verzeichnis wo das Skript lebt herauszufinden:

Code: Alles auswählen

print os.path.dirname(__file__)


Kompiliert man das unter Windows mithilfe py2exe, steckt die exe dann irgendwo nach C:\Programme\ und führt es aus, so wird gemeckert:

Code: Alles auswählen

NameError: global name '__file__' is not defined


Führt man die .py hingegen aus, funktioniert es wunderprächtig.

Woran liegt das?

Freundliche Grüsse
pot
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Mittwoch 30. April 2008, 17:25

In EXE-Dateien wird ``__file__`` sichlichtweg nicht gesetzt, das ist alles.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
pot
User
Beiträge: 55
Registriert: Sonntag 4. März 2007, 00:57
Wohnort: Frauenfeld, CH

Beitragvon pot » Mittwoch 30. April 2008, 17:26

Kann man das verhindern oder gibt es eine andere Möglichkeit, das Verzeichnis der .exe herauszufinden?

Grüsse
pot
lunar

Beitragvon lunar » Mittwoch 30. April 2008, 17:29

``sys.argv[0]``
pot
User
Beiträge: 55
Registriert: Sonntag 4. März 2007, 00:57
Wohnort: Frauenfeld, CH

Beitragvon pot » Mittwoch 30. April 2008, 17:52

Na logo, vielen Dank!

Grüsse
pot

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder