Rausfinden wo Programm liegt?

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.
Antworten
globox
User
Beiträge: 20
Registriert: Freitag 6. Mai 2005, 14:50
Kontaktdaten:

Hi,

Ich bräuchte mal eine Methode mit der man rausfinden kann wo das aktuelle Programm ist das gestartet wurde... also in welchen Ordner usw.

Wär supernett
globox
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Code: Alles auswählen

os.getcwd()
cwd = Current Working Directory

cu Sebastian
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hi globox,

Vorsicht! Das "currrent working directory" bzw. das aktuelle Arbeitsverzeichnis zeigt Dir zwar an, wo das Programm gerade "hinblickt", wenn es Daten speichern wird (wenn Du einen Filestream nicht umlenkst). Es sagt Dir aber nicht, wo Dein Programm liegt, allenfalls von wo aus es gestartet wurde. Wenn Du ein Pythonscript von einem Terminal startest, sind die Verzeichnisse natürlich identisch.
Wenn Du ansonsten herausfinden willst, wo Dein Programm tatsächlich liegt - falls Du das nicht sowieso schon weißt - mußt Du Dein Betriebssystem fragen. Wie das aber bei Windows von Python aus funktioniert: Keine Ahnung! Möglicherweise ganz einfach, aber ich habe einfach keinen Schimmer ...

Gruß,
Christian

Edit (Leonidas): Thread gesplittet. Bitte weitere Diskussion zu den Abhängigkeiten von py2exe dort führen.
joe

globox hat geschrieben: Ich bräuchte mal eine Methode mit der man rausfinden kann wo das aktuelle Programm ist das gestartet wurde... also in welchen Ordner usw.
Alles wissenswerte dazu findet man hier:
http://www.faqs.org/docs/diveintopython ... _path.html
joe
cime
User
Beiträge: 152
Registriert: Dienstag 24. Mai 2005, 15:49

CM hat geschrieben:Hi globox,
Wenn Du ansonsten herausfinden willst, wo Dein Programm tatsächlich liegt - falls Du das nicht sowieso schon weißt - mußt Du Dein Betriebssystem fragen. Wie das aber bei Windows von Python aus funktioniert: Keine Ahnung! Möglicherweise ganz einfach, aber ich habe einfach keinen Schimmer ...

Code: Alles auswählen

sys.argv[0]
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Aha, das ist wirklich einfach. Dann gehört Windows also zu den Betriebssystemen, wo das funktioniert (ist wie man der Referenz zu "sys" entnehmen kann, nicht überall der Fall). Vielen Dank also für die Info. Was passiert aber, wenn der Befehl kein eigentliches Programm / Skript bezeichnet, sondern einen Link?

Nebenbei: Ich finde die Ausführungen in Dive into Python (joes Link) nicht nur eleganter, sie zu berücksichtigen macht ein Skript auch sicherer und man könnte es so auch auf anderen Platformen starten (was zugegebenermaßen nicht jeder will).

Gruß,
Christian
BlackJack

CM hat geschrieben:Aha, das ist wirklich einfach. Dann gehört Windows also zu den Betriebssystemen, wo das funktioniert (ist wie man der Referenz zu "sys" entnehmen kann, nicht überall der Fall). Vielen Dank also für die Info. Was passiert aber, wenn der Befehl kein eigentliches Programm / Skript bezeichnet, sondern einen Link?
Oder noch "besser": irgendwas! In sys.argv[0] könnte auch "*** Jemand zuhause? ***" stehen. :-)
Antworten