Importieren von Modulen aus Unterverzeichnissen in Python

Muhammad Waiz Khan 30 Januar 2023
  1. Importieren eines Moduls aus dem Unterverzeichnis in Python mit __init__.py
  2. Importieren eines Moduls aus dem Unterverzeichnis in Python mit der Methode sys.path.insert()
Importieren von Modulen aus Unterverzeichnissen in Python

In diesem Tutorial werden die verschiedenen Methoden zum Importieren eines Moduls aus einem Unterverzeichnis in Python erklärt. Angenommen, wir haben eine Datei in einem Unterverzeichnis des Projektverzeichnisses, und wir möchten die Datei importieren und ihre Methoden in unserem Code verwenden.

Wir können die Datei aus einem Unterverzeichnis in Python importieren, indem wir das Unterverzeichnis als Paket deklarieren. So wird es von Python als Paket behandelt, und wir können die Datei für dieses Verzeichnis importieren. Die andere Möglichkeit besteht darin, das Unterverzeichnis zur Umgebungsvariablen PYTHONPATH hinzuzufügen, und es ist der Pfad, in dem Python standardmäßig nach den zu importierenden Paketen sucht. Die Details und die Verwendung dieser Methoden werden im Folgenden beschrieben.

Importieren eines Moduls aus dem Unterverzeichnis in Python mit __init__.py

Die Datei __init__.py wird verwendet, um ein Verzeichnis als Paket zu deklarieren. Die Datei __init__.py verhindert, dass Python ein Verzeichnis mit demselben Namen vermischt. Um also zwischen einem einfachen Verzeichnis und einem Paket zu unterscheiden, wird die Datei __init__.py verwendet.

Die Datei __init__.py kann leer sein, oder sie kann den Code enthalten, der zur Initialisierung des Pakets benötigt wird, sowie eine Liste der Module, die mit dem Paket importiert werden müssen; diese Liste wird durch die Variable __all__ repräsentiert.

Sobald die Datei __init__.py zum Unterverzeichnis hinzugefügt wurde, können wir die Datei aus dem Unterverzeichnis importieren, wie im folgenden Beispielcode gezeigt:

import subdirectory.myfile

Importieren eines Moduls aus dem Unterverzeichnis in Python mit der Methode sys.path.insert()

Die alternative Methode, eine Datei aus dem Unterverzeichnis zu importieren, besteht darin, das Verzeichnis zum PYTHONPATH hinzuzufügen. Der PYTHONPATH ist die Umgebungsvariable, die den Pfad der Verzeichnisse enthält, die Python durchsucht, um die Pakete zu importieren.

Wenn wir also das Unterverzeichnis mit der Methode sys.path.insert() zum PYTHONPATH hinzufügen, wird Python zuerst die Verzeichnisse im PYTHONPATH durchsuchen und es von dort importieren.

Die Methode sys.path.insert() fügt das Unterverzeichnis in die Variable sys.path oder PYTHONPATH ein, das die Liste der Verzeichnisse enthält, die Python durchsuchen wird, um das gewünschte Modul zu importieren.

Der folgende Beispielcode demonstriert, wie Sie die Methode sys.path.insert() verwenden, um eine Datei aus dem Unterverzeichnis zu importieren:

import myfile
import sys

sys.path.insert(0, "./subdirectory")

Verwandter Artikel - Python Import