El módulo python es un archivo que consta de código Python con un conjunto de funciones, clases y definiciones de variables. El módulo hace que el código sea reutilizable y fácil de entender. El programa que necesita usar el módulo debe importar ese módulo en particular. En este artículo, discutiremos cómo importar un módulo de Python dada su ruta completa.
Hay varios métodos que se pueden usar para importar el módulo utilizando su ruta completa:
- Uso de la función sys.path.append()
- Uso del paquete importlib
- Uso de la clase SourceFileLoader
Considere la siguiente disposición de archivos y veamos cómo se pueden usar los métodos mencionados anteriormente para importar el módulo gfg.py en main.py :
python |--main.py |articles |--gfg.py
A continuación se muestra el código para gfg.py :
Python3
# class class GFG: # method def method_in(): print("Inside Class method") # explicit function def method_out(): print("Inside explicit method")
Uso de la función sys.path.append()
Esta es la forma más fácil de importar un módulo de Python agregando la ruta del módulo a la variable de ruta. La variable de ruta contiene los directorios en los que el intérprete de Python busca módulos que se importaron en los archivos de origen.
Sintaxis:
sys.path.append("module_path")
Ejemplo :
Python3
# importing module import sys # appending a path sys.path.append('articles') # importing required module import gfg from gfg import GFG # aceesing its content GFG.method_in() gfg.method_out()
Producción:
Inside Class method Inside explicit method
Uso del paquete importlib
El paquete importlib proporciona la implementación de la declaración de importación en el código fuente de Python portátil para cualquier intérprete de Python. Esto permite a los usuarios crear sus propios objetos personalizados, lo que les ayuda a utilizar el proceso de importación según sus necesidades. El importlib.util es uno de los módulos incluidos en este paquete que se puede usar para importar el módulo desde la ruta dada.
Sintaxis:
módulo = importlib.util.spec_from_file_location(“nombre_módulo”, “ruta_módulo”)
Ejemplo:
Python3
import importlib.util # specify the module that needs to be # imported relative to the path of the # module spec=importlib.util.spec_from_file_location("gfg","articles/gfg.py") # creates a new module based on spec foo = importlib.util.module_from_spec(spec) # executes the module in its own namespace # when a module is imported or reloaded. spec.loader.exec_module(foo) foo.GFG.method_in() foo.method_out()
Producción:
Inside Class method Inside explicit method
Uso de la clase SourceFileLoader
La clase SourceFileLoader es una clase base abstracta que se utiliza para implementar la carga de archivos fuente con la ayuda de la función load_module() que en realidad importa el módulo.
Sintaxis:
module = SourceFileLoader("module_name","module_path").load_module()
Ejemplo :
Python3
from importlib.machinery import SourceFileLoader # imports the module from the given path foo = SourceFileLoader("gfg","articles/gfg.py").load_module() foo.GFG.method_in() foo.method_out()
Producción:
Inside Class method Inside explicit method
Publicación traducida automáticamente
Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA