


Comment importer des fichiers à partir de sous-répertoires en Python ?
Nov 26, 2024 pm 05:08 PMImportation 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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser la belle soupe pour analyser HTML?

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte

Comment travailler avec des documents PDF à l'aide de Python

Comment se cacher en utilisant Redis dans les applications Django

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch?

Sérialisation et désérialisation des objets Python: partie 1

Comment implémenter votre propre structure de données dans Python
