Importieren von Modulen aus dem übergeordneten Verzeichnis in Python

Muhammad Waiz Khan 30 Januar 2023
  1. Importieren eines Moduls aus dem übergeordneten Verzeichnis in Python mithilfe des relativen Imports
  2. Importieren eines Moduls aus dem übergeordneten Verzeichnis in Python durch Hinzufügen zu PYTHONPATH
  3. Importieren eines Moduls aus dem übergeordneten Verzeichnis in Python mit der Methode sys.path.insert()
Importieren von Modulen aus dem übergeordneten Verzeichnis in Python

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)

Verwandter Artikel - Python Import