Maison >développement back-end >Tutoriel Python >Comment importer efficacement des modules à partir d'un dossier Python ?

Comment importer efficacement des modules à partir d'un dossier Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-29 06:43:10689parcourir

How to Efficiently Import Modules from a Python Folder?

Importer des modules depuis un dossier

Lors de l'organisation de votre code Python, il devient souvent nécessaire d'importer plusieurs modules depuis un dossier spécifique. Une approche courante consiste à convertir le dossier en package Python en ajoutant un fichier __init__.py à la racine.

L'approche __init__.py

En créant un fichier __init__.py, vous pouvez importer les modules dans le dossier comme suit :

from my_package import *

Cependant, cette approche n'est pas toujours idéale, car elle importe tous les modules du dossier, que vous en ayez besoin ou non.

Importation dynamique de modules spécifiques

Pour importer sélectivement des modules à partir d'un dossier, vous pouvez utiliser le code suivant :

import os
import inspect

# Get the current folder path
folder_path = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))

# Iterate over all .py files in the folder
for file_name in os.listdir(folder_path):
    if file_name.endswith('.py') and file_name != '__init__.py':
        # Import the module using dynamic import
        module_name = file_name[:-3]
        module = __import__(module_name, fromlist=['*'])

En utilisant cette méthode, vous pouvez importer des modules spécifiques dans le dossier en y accédant via la variable module_name.

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