Importer un module à partir d'un chemin de fichier complet en Python
- Importer un module avec un chemin de fichier complet dans Python 3.5+
- Importer un module avec un chemin de fichier complet en Python 3.3 et 3.4
- Importer un module avec un chemin de fichier complet dans Python 2
Pour importer un fichier Python à partir d’un chemin donné, utilisez les bibliothèques Python basées sur la version Python. Cet article explique comment importer un module étant donné le chemin complet vers le module en Python.
Utilisez les fonctions des bibliothèques suivantes basées sur la version Python pour importer des modules.
- Pour Python 3.5+, importez
importlib.util
. - Pour Python 3.3 et 3.4, importez
importlib.machinery
,SourceFileLoader
. - Pour Python 2, importez
imp
.
Avant de commencer, préparez la configuration du fichier pour illustrer les exemples.
- Mentionnez le code suivant dans le fichier
addmodule.py
.
def printingstatement():
print("From addmodule.py")
- Placez
addmodule.py
dans un dossier. Dans les exemples ci-dessous, il se trouve dansc:\\Users\\Rexjohn\\Folder-1\\
.
Importer un module avec un chemin de fichier complet dans Python 3.5+
Pour Python 3.5+, utilisez les fonctions de la bibliothèque importlib.util
pour importer un module :
import importlib.util
MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"
spec = importlib.util.spec_from_file_location(MODULE_NAME, MODULE_PATH)
modulevar = importlib.util.module_from_spec(spec)
spec.loader.exec_module(modulevar)
modulevar.printingstatement()
Ici, utilisez les fonctions suivantes de la bibliothèque importlib.util
.
spec_from_file_location(MODULE_NAME, MODULE_PATH)
. Veuillez mentionner le chemin complet du fichier du nom du moduleMODULE_NAME
dansMODULE_PATH
.module_from_spec(spec)
exec_module(modulevar)
Production:
From addmodule.py
Importer un module avec un chemin de fichier complet en Python 3.3 et 3.4
Si vous travaillez avec Python 3.3 et 3.4, vous pouvez utiliser les fonctions de la bibliothèque importlib.machinery
, SourceFileLoader
pour importer un module :
from importlib.machinery import SourceFileLoader
MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"
modulevar = SourceFileLoader(MODULE_NAME, MODULE_PATH).load_module()
modulevar.printingstatement()
Ici, utilisez les fonctions suivantes des bibliothèques importlib.machinery
, SourceFileLoader
en mentionnant.
SourceFileLoader(MODULE_NAME, MODULE_PATH).load_module()
Production:
From addmodule.py
Importer un module avec un chemin de fichier complet dans Python 2
Pour Python 2, utilisez les fonctions de la bibliothèque imp
pour importer un module :
import imp
MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"
modulevar = imp.load_source(MODULE_NAME, MODULE_PATH)
modulevar.printingstatement()
Ici, utilisez la fonction suivante de la bibliothèque imp
.
load_source(MODULE_NAME, MODULE_PATH)
Production:
From addmodule.py