Seite 1 von 1

__file__ in python binary

Verfasst: Mittwoch 30. April 2008, 17:10
von pot
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

Verfasst: Mittwoch 30. April 2008, 17:25
von Leonidas
In EXE-Dateien wird ``__file__`` sichlichtweg nicht gesetzt, das ist alles.

Verfasst: Mittwoch 30. April 2008, 17:26
von pot
Kann man das verhindern oder gibt es eine andere Möglichkeit, das Verzeichnis der .exe herauszufinden?

Grüsse
pot

Verfasst: Mittwoch 30. April 2008, 17:29
von lunar
``sys.argv[0]``

Verfasst: Mittwoch 30. April 2008, 17:52
von pot
Na logo, vielen Dank!

Grüsse
pot