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

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

Patricia Arquette
Libérer: 2024-11-26 17:08:15
original
518 Les gens l'ont consulté

How to Import Files from Subdirectories in Python?

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

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

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

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

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!

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