Importar un módulo desde una ruta de archivo completa en Python

Najwa Riyaz 30 enero 2023
  1. Importar un módulo con una ruta de archivo completa en Python 3.5+
  2. Importar un módulo con una ruta de archivo completa en Python 3.3 y 3.4
  3. Importar un módulo con una ruta de archivo completa en Python 2
Importar un módulo desde una ruta de archivo completa en Python

Para importar un archivo de Python desde una ruta determinada, use las bibliotecas de Python basadas en la versión de Python. Este artículo explica cómo importar un módulo dada la ruta completa al módulo en Python.

Utilice las funciones de las siguientes bibliotecas basadas en la versión de Python para importar módulos.

  1. Para Python 3.5+, importe importlib.util.
  2. Para Python 3.3 y 3.4, importe importlib.machinery, SourceFileLoader.
  3. Para Python 2, importe imp.

Antes de comenzar, prepare la configuración del archivo para demostrar los ejemplos.

  • Mencione el siguiente código en el archivo addmodule.py.
def printingstatement():
    print("From addmodule.py")
  • Coloque addmodule.py dentro de una carpeta. En los ejemplos siguientes, está dentro de c:\\Users\\Rexjohn\\Folder-1\\.

Importar un módulo con una ruta de archivo completa en Python 3.5+

Para Python 3.5+, use las funciones de la biblioteca importlib.util para importar un módulo:

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()

Aquí, use las siguientes funciones de la biblioteca importlib.util.

  • spec_from_file_location(MODULE_NAME, MODULE_PATH). Por favor, mencione la ruta completa del archivo del nombre del módulo MODULE_NAME en MODULE_PATH.
  • module_from_spec(spec)
  • exec_module(modulevar)

Producción :

From addmodule.py

Importar un módulo con una ruta de archivo completa en Python 3.3 y 3.4

Si está trabajando con Python 3.3 y 3.4, puede usar las funciones de la biblioteca importlib.machinery, SourceFileLoader para importar un módulo:

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()

Aquí, utilice las siguientes funciones de las bibliotecas importlib.machinery, SourceFileLoader mencionando.

SourceFileLoader(MODULE_NAME, MODULE_PATH).load_module()

Producción :

From addmodule.py

Importar un módulo con una ruta de archivo completa en Python 2

Para Python 2, use las funciones de la biblioteca imp para importar un módulo:

import imp

MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"

modulevar = imp.load_source(MODULE_NAME, MODULE_PATH)

modulevar.printingstatement()

Aquí, use la siguiente función de la biblioteca imp.

load_source(MODULE_NAME, MODULE_PATH)

Producción :

From addmodule.py

Artículo relacionado - Python Import