Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #5266

Klassen rekursiv in einem Modul instantiieren

X-Received by 2002:a37:a955:: with SMTP id s82-v6mr22495796qke.9.1539116946342; Tue, 09 Oct 2018 13:29:06 -0700 (PDT)
X-Received by 2002:aed:364a:: with SMTP id e68-v6mr362301qtb.3.1539116945984; Tue, 09 Oct 2018 13:29:05 -0700 (PDT)
Path csiph.com!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!e2-v6no5854qtc.0!news-out.google.com!k67-v6ni3637qte.1!nntp.google.com!e2-v6no5852qtc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups de.comp.lang.python
Date Tue, 9 Oct 2018 13:29:05 -0700 (PDT)
Complaints-To groups-abuse@google.com
Injection-Info glegroupsg2000goo.googlegroups.com; posting-host=79.221.162.168; posting-account=bJLXZgkAAABb3jyMkY8c6zg_6wF6pySF
NNTP-Posting-Host 79.221.162.168
User-Agent G2/1.0
MIME-Version 1.0
Message-ID <c3736ae4-6baa-4147-9e97-4ef6a6b243ba@googlegroups.com> (permalink)
Subject Klassen rekursiv in einem Modul instantiieren
From Philipp Kraus <philipp.kraus.flashpixx@gmail.com>
Injection-Date Tue, 09 Oct 2018 20:29:06 +0000
Content-Type text/plain; charset="UTF-8"
Content-Transfer-Encoding quoted-printable
Lines 39
Xref csiph.com de.comp.lang.python:5266

Show key headers only | View raw


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

Back to de.comp.lang.python | Previous | NextNext in thread | Find similar


Thread

Klassen rekursiv in einem Modul instantiieren Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2018-10-09 13:29 -0700
  Re: [Python-de] Klassen rekursiv in einem Modul instantiieren Florian Diesch <diesch@spamfence.net> - 2018-10-09 23:38 +0200
  Re: Klassen rekursiv in einem Modul instantiieren Peter Otten <__peter__@web.de> - 2018-10-10 00:08 +0200
    Re: Klassen rekursiv in einem Modul instantiieren Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2018-10-09 22:21 -0700
      Re: Klassen rekursiv in einem Modul instantiieren Peter Otten <__peter__@web.de> - 2018-10-10 10:32 +0200
  Re: [Python-de] Klassen rekursiv in einem Modul instantiieren Hartmut Goebel <h.goebel@goebel-consult.de> - 2018-10-10 09:29 +0200
    Re: [Python-de] Klassen rekursiv in einem Modul instantiieren Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2018-10-10 09:51 -0700

csiph-web