[Python-de] Problem mit __file__: gibt unterschiedliche Ergebnisse zurück

Christoph Herzog CCF.Herzog at gmx.net
Wed Sep 12 17:21:30 EDT 2001


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




More information about the Python-de mailing list