Maison >développement back-end >Tutoriel Python >Comment puis-je importer un module à partir d'un dossier imbriqué en Python ?
Importation de modules à partir de dossiers imbriqués
L'importation de fichiers à partir de différents dossiers au sein d'un projet peut être difficile en Python. Explorons un scénario et sa solution.
Question :
Considérez la structure de dossiers suivante :
application ├── app │ └── folder │ └── file.py └── app2 └── some_folder └── some_file.py
Comment importer une fonction nommée func_name de file.py dans some_file.py?
Réponse :
L'approche typique consistant à utiliser from application.app.folder.file import func_name ne fonctionnera pas. En effet, le chemin de recherche d'importation par défaut de Python n'inclut pas de sous-répertoires.
Solution :
Pour contourner cette limitation, vous pouvez modifier le chemin de recherche Python au moment de l'exécution en ajoutant le répertoire souhaité dans sys.path avant d'importer le module. Voici un exemple dans some_file.py :
import sys # Caution: path[0] is reserved for the script path or '' in REPL sys.path.insert(1, '/path/to/application/app/folder') import file
Cela vous permettra d'accéder à la fonction depuis le module importé comme :
file.func_name()
Remarque :
Cette approche est destinée à des scénarios très spécifiques. En règle générale, structurer votre code en packages est une solution privilégiée pour la modularité et la maintenabilité.
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!