[Python-de] wie komme ich an den os pfad einer Klasse

Robert Rottermann robert at redcor.ch
Tue Mar 5 16:00:45 EST 2002


danke, meine Forschungen haben mich auch weiter gebracht.
Meine Lösung :
        import sys
        fname =  sys.modules[self.__module__].__file__

danke
Robert
----- Original Message -----
From: "Mike Mueller" <mmueller at dgfz.de>
To: <python-de at starship.python.net>
Sent: Tuesday, March 05, 2002 1:03 PM
Subject: Re: [Python-de] wie komme ich an den os pfad einer Klasse


Ich habe drei Möglichkeiten gefunden.

1. Name des Moduls der Klasse ist bekannt
 >>> import dummypy
 >>> dummypy.__file__
'G:\\Projekte\\Python\\dummypy.py'


2. Name des Moduls der Klasse von der Instanz besteht:
 >>> d = dummypy.Dummy()
 >>> exec('import ' + d.__class__.__module__ + ' as xxx')
 >>> xxx.__file__
'G:\\Projekte\\Python\\dummypy.py'


3. Klasse gibt bei Instanzbildung Namen des Moduls Preis
#dummypy.py
import pyclbr
class Dummy:
     def __init__(self):
         m = pyclbr.readmodule('dummypy')
         print m['Dummy'].file

 >>> d = dummypy.Dummy()
G:\Projekte\Python\dummypy.py

Es gibt bestimmt noch mehr.

Mike

_______________________________________________
Python-de maillist  -  Python-de at starship.python.net
http://starship.python.net/mailman/listinfo/python-de





More information about the Python-de mailing list