Maison >développement back-end >Tutoriel Python >Comment puis-je importer des fonctions à partir de dossiers imbriqués en Python ?

Comment puis-je importer des fonctions à partir de dossiers imbriqués en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-20 19:57:11403parcourir

How Can I Import Functions from Nested Folders in Python?

Importation de modules à partir de dossiers imbriqués

Importation d'une fonction à partir d'un dossier différent

Considérons une structure de fichiers avec des dossiers imbriqués comme suit :

application
├── app
│   └── folder
│       └── file.py
└── app2
    └── some_folder
        └── some_file.py

Pour importer une fonction depuis file.py dans some_file.py, en utilisant simplement from application.app.folder.file import func_name ne fonctionnera pas. En effet, le chemin de recherche de Python ne s'étend pas jusqu'au sous-dossier.

Solution

Pour surmonter cette limitation, vous pouvez modifier temporairement le chemin de recherche de Python en insérant le chemin du dossier souhaité :

# some_file.py
import sys
sys.path.insert(1, '/path/to/application/app/folder')

import file

Cela ajoutera /path/to/application/app/folder au chemin de recherche, vous permettant d'importer la fonction func_name depuis file.py.

Remarque

Cette solution n'est pas recommandée pour un usage général, car elle peut entraîner des problèmes liés au chemin. Il est généralement préférable d'organiser votre code en packages et de les installer correctement pour un comportement d'importation optimal.

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:
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