Recargar o desimportar un módulo en Python

Manav Narula 30 enero 2023
  1. Desimportar un módulo en Python
  2. Recargar un módulo en Python
Recargar o desimportar un módulo en Python

Los módulos nos permiten almacenar definiciones de diferentes funciones y clases en un archivo de Python, y luego dichos archivos se pueden usar en otros archivos. Los pandas, NumPy, scipy, Matplotlib son algunos de los módulos más utilizados en Python.

También podemos crear nuestros propios módulos en Python, que pueden aumentar la modularidad y simplificar programas grandes.

Desimportar un módulo en Python

Usamos el comando import para cargar un módulo específico a la memoria en Python. No podemos eliminar la importación de un módulo ya que Python lo almacena en la memoria caché, pero podemos usar algunos comandos e intentar eliminar la referencia de estos módulos para que no podamos acceder a él durante el programa. Sin embargo, estos métodos pueden fallar en ocasiones, así que tenga cuidado.

El primero es el comando del. Se utiliza para eliminar una variedad de objetos en Python. La eliminación del acceso a un módulo mediante este comando se muestra a continuación.

import module_name

del module_name

El sys.modules es un diccionario que se puede visualizar mediante el módulo sys y se utiliza para almacenar las referencias de una función y módulos. Podemos eliminar el módulo requerido de este diccionario usando el comando del para eliminar todas sus referencias. Es difícil eliminar módulos a los que se ha hecho muchas referencias, por lo que hay que tener cuidado al usar esto. Este método puede producir resultados no deseados, así que tenga cuidado.

if "myModule" in sys.modules:
    del sys.modules["myModule"]

Recargar un módulo en Python

En caso de que hayamos realizado cambios en un módulo y deseamos implementar esos cambios sin reiniciar el programa, podemos usar la función reload() que recargará el módulo requerido.

La función reload() tiene una larga historia en Python. Hasta Python 2.7 era una función incorporada.

En Python 3.0 a Python 3.3, estaba presente en la biblioteca imp que luego se desaprobó y se cambió al módulo importlib, que contiene funciones para implementar los mecanismos de importación de códigos en archivos Python.

El siguiente código muestra cómo utilizar la función reload().

import importlib

reload(module_name)
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artículo relacionado - Python Module