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
Libérer: 2024-11-23 15:55:19
original
829 Les gens l'ont consulté

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
Copier après la connexion
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion
Copier après la connexion

ou

import lib.BoxTime as BT
BT.bt_function()
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal