Wie importiere ich Module aus Unterverzeichnissen in Python?

Susan Sarandon
Freigeben: 2024-11-23 15:55:19
Original
714 Leute haben es durchsucht

How to Import Modules from Subdirectories in Python?

Dateien aus Unterverzeichnissen importieren

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
Nach dem Login kopieren
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

oder

import lib.BoxTime as BT
BT.bt_function()
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage