In Python muss ich eine Klasse aus einem Modul in einem Paket importieren. Ich versuche, mein Programm erweiterbar zu machen, ohne den Quellcode zu bearbeiten, indem ich Apps in einem Verzeichnis habe. Zum Beispiel habe ich die folgende Verzeichnisstruktur haben:Dynamischer Klassenimport von Modul
Project/
apps/
__init__.py
a.py
b.py
main.py
In beiden a.py
und b.py
, gäbe es eine Klasse sein, die Ich mag würde direkt in main.py
, als ob die Klasse in main.py
die ganze Zeit war importieren. Ich kenne die Namen dieser Apps oder die darin enthaltenen Klassen nicht. Gibt es eine Möglichkeit, dies zu tun?
Ich habe auch für eine Antwort vergebens gegoogled.
BEARBEITEN. Ich habe vergessen zu erklären, dass ich die Importe dynamisch sein musste. Entschuldigen Sie die Umstände.
https://docs.python.org/3/tutorial/modules.html#packages – wwii
Was meinen Sie sie dynamisch sein müssen? Werden Sie Dinge zur Laufzeit bedingt importieren? Haben Sie [importlib] (https://docs.python.org/3/library/importlib.html) angeschaut und ausprobiert? – wwii