Maison >développement back-end >Tutoriel Python >Comment puis-je importer dynamiquement un module Python à partir d'un chemin de fichier spécifique ?
Importation dynamique d'un module à partir d'un chemin spécifié
En Python, l'importation d'un module se fait généralement en spécifiant son nom. Cependant, que se passe-t-il si vous devez importer un module à partir d'un fichier spécifique, quel que soit son emplacement dans le système de fichiers ?
Solution :
Pour importer dynamiquement un module basé sur son chemin complet, vous pouvez utiliser l'une des techniques suivantes :
Python 3.5 (Recommandé) :
import importlib.util import sys spec = importlib.util.spec_from_file_location("module.name", "/path/to/file.py") foo = importlib.util.module_from_spec(spec) sys.modules["module.name"] = foo spec.loader.exec_module(foo) foo.MyClass() # Access a class within the module
Python 3.3 et 3.4 :
from importlib.machinery import SourceFileLoader foo = SourceFileLoader("module.name", "/path/to/file.py").load_module() foo.MyClass() # Access a class within the module
Python 2 :
import imp foo = imp.load_source('module.name', '/path/to/file.py') foo.MyClass() # Access a class within the module
Notez que ces méthodes offrent des options pratiques pour importer des fichiers Python et des DLL compilés en tant que bien.
Remarque supplémentaire :
Il convient de mentionner que cette approche est particulièrement utile lorsque vous travaillez avec des modules générés dynamiquement ou des modules qui ne sont installés dans aucun des standards Python. chemins.
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!