Importar un módulo desde una ruta de archivo completa en Python
- Importar un módulo con una ruta de archivo completa en Python 3.5+
- Importar un módulo con una ruta de archivo completa en Python 3.3 y 3.4
- Importar un módulo con una ruta de archivo completa en Python 2
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.
- Para Python 3.5+, importe
importlib.util
. - Para Python 3.3 y 3.4, importe
importlib.machinery
,SourceFileLoader
. - 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 dec:\\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óduloMODULE_NAME
enMODULE_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