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.pyin 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_NAMEinMODULE_PATHan.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