Importieren eines Moduls aus einem vollständigen Dateipfad in Python

Najwa Riyaz 30 Januar 2023
  1. Importieren Sie ein Modul mit einem vollständigen Dateipfad in Python 3.5+
  2. Importieren Sie ein Modul mit einem vollständigen Dateipfad in Python 3.3 und 3.4
  3. Importieren Sie ein Modul mit einem vollständigen Dateipfad in Python 2
Importieren eines Moduls aus einem vollständigen Dateipfad in Python

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.

  1. Für Python 3.5+ importieren Sie importlib.util.
  2. Für Python 3.3 und 3.4 importieren Sie importlib.machinery, SourceFileLoader.
  3. 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 in c:\\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 Modulnamens MODULE_NAME in MODULE_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

Verwandter Artikel - Python Import