Importieren von Modulen aus dem übergeordneten Verzeichnis in Python
- Importieren eines Moduls aus dem übergeordneten Verzeichnis in Python mithilfe des relativen Imports
-
Importieren eines Moduls aus dem übergeordneten Verzeichnis in Python durch Hinzufügen zu
PYTHONPATH
-
Importieren eines Moduls aus dem übergeordneten Verzeichnis in Python mit der Methode
sys.path.insert()
In diesem Tutorial werden verschiedene Methoden zum Importieren eines Moduls aus dem übergeordneten Verzeichnis in Python erläutert. Wir importieren verschiedene Module, um andere Funktionen in unserem Code zu verwenden. Dies erspart uns das erneute Kopieren oder Implementieren der Funktionen und macht den Code sauber und verständlicher.
Angenommen, wir möchten ein Modul aus dem übergeordneten Verzeichnis des aktuellen Projektverzeichnisses importieren. Wir können dies mit verschiedenen Methoden tun, die unten erklärt werden.
Importieren eines Moduls aus dem übergeordneten Verzeichnis in Python mithilfe des relativen Imports
Der relative Import wird verwendet, um ein Modul in den Code zu importieren, wobei der aktuelle Verzeichnispfad als Referenz verwendet wird. Um ein Modul mit der Anweisung import
zu importieren, müssen wir das Verzeichnis zunächst als Paket deklarieren, indem wir die Datei __init__.py
im übergeordneten Verzeichnis hinzufügen. Sobald das übergeordnete Verzeichnis als Paket deklariert ist, können wir das Modul mithilfe des relativen Paketansatzes importieren.
Angenommen, wir haben den folgenden Verzeichnisbaum.
parent_parent_directory/
parent_directory/
mymodule.py
__init__.py
current_directory/
currentmodule.py
mymodule.py
__init__.py
Der folgende Beispielcode zeigt, wie das Modul aus dem übergeordneten Paket importiert wird.
from ..parent_directory import mymodule
Um das Modul aus dem Verzeichnis zwei Ebenen über dem aktuellen Verzeichnis zu importieren, müssen drei Punkte vor dem Namen des Paketverzeichnisses eingefügt werden, um zwei Ebenen zurück zu gehen, wie im folgenden Beispielcode gezeigt.
from ...parent_parent_directory import mymodule
Importieren eines Moduls aus dem übergeordneten Verzeichnis in Python durch Hinzufügen zu PYTHONPATH
Der PYTHONPATH
ist eine Umgebungsvariable, die die Verzeichnisliste angibt, nach der Python suchen soll, um Module und Pakete zu importieren.
Wenn wir also das übergeordnete Verzeichnis hinzufügen, aus dem wir das Modul importieren müssen, sucht Python automatisch im übergeordneten Verzeichnis und findet das erforderliche Modul.
Importieren eines Moduls aus dem übergeordneten Verzeichnis in Python mit der Methode sys.path.insert()
Wir können auch die Methode sys.path.insert()
verwenden, um das übergeordnete Verzeichnis zur Liste sys.path
hinzuzufügen. Hierbei handelt es sich um die Liste der Zeichenketten, die die Pfade angeben, nach denen nach Paketen und Modulen gesucht werden soll. Der sys.path
enthält die Verzeichnisliste der Umgebungsvariablen PYTHONPATH, und andere Pfade können auch mit der Methode sys.path.insert()
hinzugefügt werden.
Der folgende Beispielcode zeigt, wie Sie mit der Methode sys.path.insert()
das übergeordnete Verzeichnis zur Liste sys.path
in Python hinzufügen.
import mymodule
import os
import sys
p = os.path.abspath(".")
sys.path.insert(1, p)