Heim  >  Artikel  >  Backend-Entwicklung  >  Wie importiere ich Module aus Unterverzeichnissen in Python?

Wie importiere ich Module aus Unterverzeichnissen in Python?

Susan Sarandon
Susan SarandonOriginal
2024-11-23 15:55:19715Durchsuche

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

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!

Stellungnahme:
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
Vorheriger Artikel:RAG-ChatbotNächster Artikel:RAG-Chatbot