Importation de fichiers à partir de sous-répertoires
L'importation de fichiers à partir de sous-répertoires peut être un défi courant lors de l'organisation du code Python. On peut rencontrer une erreur d'importation en tentant d'accéder à un fichier résidant dans un sous-répertoire. Cet article aborde le problème et propose une solution.
Scénario
Considérez une structure de projet dans laquelle un fichier appelé tester.py se trouve dans un répertoire nommé /project. Dans le répertoire /project se trouve un sous-répertoire nommé lib, qui contient un fichier appelé BoxTime.py. L'objectif est d'importer BoxTime depuis tester.py.
Tentative échouée
Une tentative d'importation de BoxTime à l'aide du code suivant entraîne une erreur :
import lib.BoxTime
Cela renvoie ce qui suit traceback :
Traceback (most recent call last): File "./tester.py", line 3, in <module> import lib.BoxTime ImportError: No module named lib.BoxTime
Solution
La solution réside dans la création d'un fichier spécial nommé __init__.py dans le sous-répertoire lib. Ce fichier est crucial pour que Python reconnaisse lib en tant que package, permettant l'importation de fichiers depuis le sous-répertoire. Une fois le fichier __init__.py en place, les fichiers du sous-répertoire lib peuvent être importés en utilisant la syntaxe suivante :
import lib.BoxTime
Alternativement, pour éviter de référencer BoxTime comme lib.BoxTime, vous pouvez utiliser la syntaxe suivante :
import lib.BoxTime as BT ... BT.bt_function()
En créant le fichier __init__.py dans le sous-répertoire, Python le reconnaît comme un package, facilitant ainsi l'importation de modules du sous-répertoire.
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!