Importer un module à partir d'un chemin de fichier complet en Python

Najwa Riyaz 30 janvier 2023
  1. Importer un module avec un chemin de fichier complet dans Python 3.5+
  2. Importer un module avec un chemin de fichier complet en Python 3.3 et 3.4
  3. Importer un module avec un chemin de fichier complet dans Python 2
Importer un module à partir d'un chemin de fichier complet en Python

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.

  1. Pour Python 3.5+, importez importlib.util.
  2. Pour Python 3.3 et 3.4, importez importlib.machinery, SourceFileLoader.
  3. 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 dans c:\\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 module MODULE_NAME dans MODULE_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

Article connexe - Python Import