Module dynamisch aus einem Verzeichnis laden
Frage:
Module aus einem bestimmten Verzeichnis importieren kann eine Herausforderung sein. Betrachten Sie die folgende Verzeichnisstruktur:
/Foo bar.py spam.py eggs.py
Der Import der Module mit __init__.py und aus Foo import * führt nicht zum gewünschten Ergebnis. Wie kann man alle Module aus diesem Verzeichnis dynamisch importieren?
Antwort:
Erstellen Sie eine init__.py-Datei mit __allVariable
from os.path import dirname, basename, isfile, join import glob modules = glob.glob(join(dirname(__file__), "*.py")) __all__ = [ basename(f)[:-3] for f in modules if isfile(f) and not f.endswith('__init__.py')]
Beispielverwendung:
Nachdem Sie die Datei __init__.py erstellt haben, können Sie nun alle Module aus dem Foo-Verzeichnis importieren mit:
from Foo import *
Dadurch werden alle verfügbaren Module im Foo-Verzeichnis dynamisch importiert.
Das obige ist der detaillierte Inhalt vonWie kann ich alle Module dynamisch aus einem Verzeichnis in Python importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!