Importieren eines Moduls aus einem vollständigen Dateipfad in Python
- Importieren Sie ein Modul mit einem vollständigen Dateipfad in Python 3.5+
- Importieren Sie ein Modul mit einem vollständigen Dateipfad in Python 3.3 und 3.4
- Importieren Sie ein Modul mit einem vollständigen Dateipfad in Python 2
Um eine Python-Datei aus einem bestimmten Pfad zu importieren, verwenden Sie die Python-Bibliotheken basierend auf der Python-Version. In diesem Artikel wird erläutert, wie Sie ein Modul mit dem vollständigen Pfad zum Modul in Python importieren.
Verwenden Sie die Funktionen der folgenden Bibliotheken basierend auf der Python-Version, um Module zu importieren.
- Für Python 3.5+ importieren Sie
importlib.util
. - Für Python 3.3 und 3.4 importieren Sie
importlib.machinery
,SourceFileLoader
. - Für Python 2 importieren Sie
imp
.
Bevor wir beginnen, bereiten Sie bitte die Dateieinrichtung vor, um die Beispiele zu demonstrieren.
- Erwähnen Sie den folgenden Code in der Datei
addmodule.py
.
def printingstatement():
print("From addmodule.py")
- Platzieren Sie
addmodule.py
in einem Ordner. In den folgenden Beispielen befindet es sich inc:\\Users\\Rexjohn\\Folder-1\\
.
Importieren Sie ein Modul mit einem vollständigen Dateipfad in Python 3.5+
Verwenden Sie für Python 3.5+ die Funktionen der Bibliothek importlib.util
, um ein Modul zu importieren:
import importlib.util
MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"
spec = importlib.util.spec_from_file_location(MODULE_NAME, MODULE_PATH)
modulevar = importlib.util.module_from_spec(spec)
spec.loader.exec_module(modulevar)
modulevar.printingstatement()
Verwenden Sie hier die folgenden Funktionen aus der Bibliothek importlib.util
.
spec_from_file_location(MODULE_NAME, MODULE_PATH)
. Bitte geben Sie den vollständigen Dateipfad des ModulnamensMODULE_NAME
inMODULE_PATH
an.module_from_spec(spec)
exec_module(modulevar)
Ausgabe:
From addmodule.py
Importieren Sie ein Modul mit einem vollständigen Dateipfad in Python 3.3 und 3.4
Wenn Sie mit Python 3.3 und 3.4 arbeiten, können Sie die Funktionen der Bibliothek importlib.machinery
, SourceFileLoader
verwenden, um ein Modul zu importieren:
from importlib.machinery import SourceFileLoader
MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"
modulevar = SourceFileLoader(MODULE_NAME, MODULE_PATH).load_module()
modulevar.printingstatement()
Verwenden Sie hier die folgenden Funktionen aus den Bibliotheken importlib.machinery
, SourceFileLoader
durch Erwähnung.
SourceFileLoader(MODULE_NAME, MODULE_PATH).load_module()
Ausgabe:
From addmodule.py
Importieren Sie ein Modul mit einem vollständigen Dateipfad in Python 2
Verwenden Sie für Python 2 die Funktionen der Bibliothek imp
, um ein Modul zu importieren:
import imp
MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"
modulevar = imp.load_source(MODULE_NAME, MODULE_PATH)
modulevar.printingstatement()
Verwenden Sie hier die folgende Funktion aus der Bibliothek imp
.
load_source(MODULE_NAME, MODULE_PATH)
Ausgabe:
From addmodule.py