Recarregar ou desimportar módulo em Python

Manav Narula 30 janeiro 2023
  1. Desimportar um módulo em Python
  2. Recarregue um módulo em Python
Recarregar ou desimportar módulo em Python

Os módulos nos permitem armazenar definições de diferentes funções e classes em um arquivo Python e, em seguida, esses arquivos podem ser usados ​​em outros arquivos. Os pandas, NumPy, scipy, Matplotlib são alguns dos módulos mais utilizados em Python.

Também podemos criar nossos próprios módulos em Python, o que pode aumentar a modularidade e simplificar programas grandes.

Desimportar um módulo em Python

Usamos o comando import para carregar um módulo específico na memória em Python. Não podemos desimportar um módulo, pois o Python o armazena na memória cache, mas podemos usar alguns comandos e tentar cancelar a referência desses módulos para que não possamos acessá-los durante o programa. Esses métodos, no entanto, podem falhar às vezes, portanto, tome cuidado.

O primeiro é o comando del. Ele é usado para remover uma variedade de objetos em Python. A remoção do acesso de um módulo usando este comando é mostrada a seguir.

import module_name

del module_name

O sys.modules é um dicionário que pode ser visualizado através do módulo sys e serve para armazenar as referências de uma função e módulos. Podemos remover o módulo necessário deste dicionário usando o comando del para remover todas as suas referências. É difícil remover módulos que foram muito referenciados, então é preciso ter cuidado ao usar isso. Este método pode produzir resultados indesejados, portanto, tenha cuidado.

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

Recarregue um módulo em Python

Caso tenhamos feito alterações em um módulo e desejamos implementar essas alterações sem reiniciar o programa, podemos usar a função reload() que recarregará o módulo necessário.

A função reload() tem uma longa história em Python. Até o Python 2.7, era uma função embutida.

No Python 3.0 ao Python 3.3, estava presente na biblioteca imp que posteriormente foi descontinuada e alterada para o módulo importlib, que contém funções para implementar os mecanismos de importação de códigos em arquivos Python.

O código a seguir mostra como usar a função 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

Artigo relacionado - Python Module