[Python-de] Klassen rekursiv in einem Modul instantiieren

Philipp Kraus philipp.kraus.flashpixx at gmail.com
Di Okt 9 16:29:05 EDT 2018


Hallo,

ich arbeite seit langem wieder mit Python und erstelle mit Flask einen REST Webservice. Ich habe mir ein Python Modul gebaut

mymodule
     __init__.py
     __main__.py
     algorithm/
           __init__.py
           algorithm.py
           distance/
                    __init__.py
                    foo.py
                    bar.py
          foobar/
                   __init__.py
                   test.py

In der algorithm.py ist eine Basis Klasse implementiert, die die Klasse in foo.py ableitet, somit ist jede Klasse unterhalb von algorithm immer von der Klasse Algorithm in algorithm.py abgelietet.
Ich möchte jetzt in der __main__.py einmal rekursiv über alle *.py Dateien in algorithm durch gehen und aus jeder *.py Datei die Klasse instantiieren

Ich brauche so etwas

l = []
for i in getAllKlasse_in_algorithm():
      if i instaceof Algorithm
         l.append(i())

Wie komme ich an alle Klasse dran. Später sollen noch weitere Submodule / Klassen hinzu kommen und ich möchte im Grunde in der __main__.py eine generische Routine haben, die einfach alles einlist

Danke für die Hilfe

Phil


Mehr Informationen über die Mailingliste python-de