Das Importieren externer Module ist eine gängige Praxis in der Python-Entwicklung. Wenn sich das Modul jedoch in einem Unterverzeichnis befindet, erfordert der Import einen bestimmten Ansatz.
Problembeschreibung
Angenommen, Sie haben eine Datei mit dem Namen tester.py im Ordner „/“. Projektverzeichnis. Dieses Verzeichnis enthält ein Unterverzeichnis namens lib, das eine Datei namens BoxTime.py enthält. Ihr Ziel ist es, BoxTime in tester.py zu importieren.
Erster Versuch und Fehler
Sie haben versucht, BoxTime mit dem folgenden Code zu importieren:
import lib.BoxTime
Dies führte jedoch zu einem ImportError, da Python das genannte Modul nicht finden konnte lib.BoxTime.
Lösung: Implementieren eines Pakets
Um dieses Problem zu beheben, müssen Sie das lib-Verzeichnis in ein Python-Paket konvertieren. Dazu gehört das Erstellen einer leeren Datei mit dem Namen __init__.py im lib-Verzeichnis.
/project /tester.py /lib/__init__.py /lib/BoxTime.py
Diese __init__.py-Datei fungiert als Paketinitialisierer und informiert Python darüber, dass es sich bei dem Verzeichnis um ein Paket handelt, das Python-Module enthält.
Korrektes Importieren des Moduls
Sobald die Datei __init__.py vorhanden ist An dieser Stelle können Sie BoxTime mit einer der folgenden Methoden importieren:
import lib.BoxTime
oder
import lib.BoxTime as BT BT.bt_function()
Die zweite Methode weist BoxTime der Variablen BT zu, sodass Sie über die auf ihre Funktionen zugreifen können kürzerer Alias.
Das obige ist der detaillierte Inhalt vonWie importiere ich Module aus Unterverzeichnissen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!