Chargement dynamique de modules à partir d'un répertoire
Question :
Importation de modules à partir d'un répertoire spécifique peut être un défi. Considérez la structure de répertoires suivante :
/Foo bar.py spam.py eggs.py
L'importation des modules à l'aide de __init__.py et depuis Foo import * ne donne pas le résultat souhaité. Comment importer dynamiquement tous les modules de ce répertoire ?
Réponse :
Créer un fichier init__.py avec __all variable
from os.path import dirname, basename, isfile, join import glob modules = glob.glob(join(dirname(__file__), "*.py")) __all__ = [ basename(f)[:-3] for f in modules if isfile(f) and not f.endswith('__init__.py')]
Exemple d'utilisation :
Après avoir créé le fichier __init__.py, vous pouvez maintenant importer tous les modules depuis le répertoire Foo using :
from Foo import *
Cela importera dynamiquement tous les modules disponibles dans le répertoire Foo.
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!