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

Bernhard Herzog bh at intevation.de
Wed Sep 12 19:13:02 EDT 2001


Georg Mischler <schorsch at schorsch.com> writes:

> 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"

Von absolut steht da aber nichts :)

> >
> > 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. 

In Christophs Beispiel war's ja gerade nicht so. Es ging um
moduleA.__file__ welches per import geladen wurde.

Wenn ich das richtig sehe, hängt es davon ab, wie der Eintrag in
sys.path aussieht, mit dem das Modul gefunden wurde. Normalerweise ist
ja das Arbeitsverzeichnis teil von sys.path (als Leerstring) und bei
Modulen im Arbeitsverzeichnis ist denn auch __file__ normalerweise ein
relativer Name.

   Bernhard

-- 
Intevation GmbH                                 http://intevation.de/
Sketch                                 http://sketch.sourceforge.net/
MapIt!                                               http://mapit.de/



More information about the Python-de mailing list