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

Susan Sarandon
Libérer: 2024-11-23 15:55:19
original
736 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!

source:php.cn
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