Maison >développement back-end >Tutoriel Python >Comment importer des modules à partir de sous-répertoires en Python ?

Comment importer des modules à partir de sous-répertoires en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-23 15:55:19797parcourir

How to Import Modules from Subdirectories in Python?

Importation de fichiers à partir de sous-répertoires

L'importation de modules externes est une pratique courante dans le développement Python. Cependant, lorsque le module réside dans un sous-répertoire, son importation nécessite une approche spécifique.

Énoncé du problème

Supposons que vous ayez un fichier nommé tester.py situé dans le répertoire / répertoire du projet. Ce répertoire contient un sous-répertoire appelé lib, qui héberge un fichier nommé BoxTime.py. Votre objectif est d'importer BoxTime dans tester.py.

Tentative initiale et erreur

Vous avez tenté d'importer BoxTime en utilisant le code suivant :

import lib.BoxTime

Cependant, cela a entraîné une ImportError, car Python n'a pas pu trouver le module nommé lib.BoxTime.

Solution : Implémentation d'un package

Pour résoudre ce problème, vous devez convertir le répertoire lib en un package Python. Cela implique de créer un fichier vide nommé __init__.py dans le répertoire lib.

/project
    /tester.py
    /lib/__init__.py
    /lib/BoxTime.py

Ce fichier __init__.py agit comme un initialiseur de package, informant Python que le répertoire est un package contenant des modules Python.

Importer correctement le module

Une fois le fichier __init__.py installé place, vous pouvez importer BoxTime en utilisant l'une des méthodes suivantes :

import lib.BoxTime

ou

import lib.BoxTime as BT
BT.bt_function()

La deuxième méthode attribue BoxTime à la variable BT, vous permettant d'accéder à ses fonctions à l'aide du pseudonyme plus court.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Chatbot RAGArticle suivant:Chatbot RAG