[Python-de] Problem mit __file__: gibt unterschiedliche Ergebnisse zurueck

Georg Mischler schorsch at schorsch.com
Wed Sep 12 12:16:45 EDT 2001


Christoph Herzog wrote:

> Sorry, die Frage von mir war ziemlich unklar. Es ging mir wirklich um den
> absoluten Pfad. Ich bin einfach fix davon ausgegangen, daß __file__
> grundsätzlich den absoluten Pfad des Moduls wiedergibt, weil ich in der
> Pythondokumentation gefunden habe
>
> "__file__ is the pathname of the file from which the module was loaded, if it was
> loaded from a file"
>
> und weil ich das praktisch fand, weil ja eben die Möglichkeit besteht, daß sich
> das cwd während des Programablaufs ändert. Wieder mal auf der Leitung
> gesessen. Tut mir leid :-(


Nach meiner Beobachtung ist __file__ immer der absolute Pfad,
wenn das modul per import geladen wurde. Wie schon erwaehnt,
haengt der Status von externen Einfluessen ab, wenn ein Modul
als Programmargument geladen wird.

Wenn du also sichergehen willst, dann koennte eine Moeglichkeit
darin bestehen, nur einen Wrapper zum Starten zu verwenden,
und das eigentliche Modul von dort per import einzubinden.
Ob der ansonsten funktionslose Wrapper einen absoluten oder
relativen Pfad hat kann dir anschliessend egal sein.

Ich bin selber sogar schon mal soweit gegangen, von einem
Modul aus das gleiche Modul rekursiv nochmal zu importieren,
um an den absoluten Pfad heranzukommen.


-schorsch

-- 
Georg Mischler  --  simulations developer  --  schorsch at schorsch.com
+schorsch.com+  --  lighting design tools  --  http://www.schorsch.com/




More information about the Python-de mailing list