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
423 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!

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