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

Mike Mueller mmueller at dgfz.de
Tue Mar 5 13:03:21 EST 2002


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




More information about the Python-de mailing list