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