[Python-de] Problem mit file : gibt unterschiedliche Ergebnisse zurck

Rene Liebscher R.Liebscher at gmx.de
Wed Sep 12 17:23:39 EDT 2001


Christoph Herzog wrote:
> 
> Hallo an alle,
> ich habe (wieder) ein Python-Problem, mit dem ich
> nicht weiterkomme (Windows2000, Python2.1) und um Hilfe bitte:
> Ich will mit __file__ den Pfad rauskriegen, in dem eine bestimmte
> Pythondatei steht.
> 
> Und zwar habe ich zwei Dateien
> C:\mytest.py
> C:\mytestA.py
> 
> mytest.py ist:
> #----------------
> import os
> import mytestA
> print "cwd: ", os.getcwd()
> print "mytestA.__file__: ", mytestA.__file__
> #----------
> 
> Und die zweite mytestA.py, sie dient nur als
> eine Art Dummy:
> 
> #----------
> print "hello"
> #----------
> 
> Nun bekomme ich je nachdem, WIE ich die Datei
> mytest.py aufrufe, ein anderes Ergebnsis; nämlich
> so:
> 
> C:\>mytest.py
> 
> Dann bekomme ich:
> 
> Hallo
> cwd:  C:\
> mytestA.__file__:  C:\mytestA.py
> 
> Wenn ich mytest.py aber so aufrufe:
> 
> C:\>C:\programme\python21\python mytest.py
> 
> dann bekomme ich:
> 
> Hallo
> cwd:  C:\
> mytestA.__file__:  mytestA.pyc
> 
> Vermutlich habe ich etwas übersehen, aber ich
> komme nicht drauf. Ich hatte diese Frage vor ein
> paar Tagen schon einmal nach comp.lang.python
> gepostet, und dort auch eine Antwort bekommen,
> aber die ist offensichtlich nicht richtig, nämlich
> daß es davon abhängt, ob die Datei mytest.pyc
> schon existiert oder nicht und nicht von der Art
> des Aufrufs. Dem ist aber nicht so. Vielleicht
> kann mir hier jemand helfen?! Vielen Dank!
> Christoph
> 
Ich habe das mal unter Unix probiert.

Das mit dem pyc stimmt schon, wenn es erstmal exisitiert
bekommst Du immer die pyc-Datei geliefert.

Der Pfad ist eine andere Sache.
Wenn Du "python Pfad/x.py"
bekommst Du als __file__ auch den Pfad mit
(egal ob das das aktuelle Verzeichnis ist.)
Mit python x.py dann entsprechend ohne Pfad.

Wenn Du unter Windows direkt das Python-File
aufrufst wird das komplett mit Pfad an Python uebergeben.
(steht irgendwo bei den Datei-(typ)-zuordnungen was
genau geschieht wenn du irgendeine Datei einfach so aufrufst.)


MfG
Rene Liebscher



More information about the Python-de mailing list