Ricarica o annulla l'importazione del modulo in Python

Manav Narula 18 luglio 2021
  1. Annulla importazione di un modulo in Python
  2. Ricarica un modulo in Python
Ricarica o annulla l'importazione del modulo in Python

I moduli ci consentono di memorizzare le definizioni di diverse funzioni e classi in un file Python, quindi tali file possono essere utilizzati in altri file. I pandas, NumPy, scipy, Matplotlib sono alcuni dei moduli più usati in Python.

Possiamo anche creare i nostri moduli in Python, che può aumentare la modularità e semplificare i programmi di grandi dimensioni.

Annulla importazione di un modulo in Python

Usiamo il comando import per caricare un modulo specifico nella memoria in Python. Non possiamo annullare l’importazione di un modulo poiché Python lo memorizza nella memoria cache, ma possiamo usare alcuni comandi e provare a dereferenziare questi moduli in modo da non essere in grado di accedervi durante il programma. Questi metodi, tuttavia, a volte potrebbero non funzionare, quindi fai attenzione.

Il primo è il comando del. Viene utilizzato per rimuovere una varietà di oggetti in Python. La rimozione dell’accesso a un modulo utilizzando questo comando è mostrata di seguito.

import module_name

del module_name

Il sys.modules è un dizionario che può essere visualizzato usando il modulo sys ed è usato per memorizzare i riferimenti di una funzione e dei moduli. Possiamo rimuovere il modulo richiesto da questo dizionario usando il comando del per rimuovere ogni suo riferimento. È difficile rimuovere i moduli a cui è stato fatto molto riferimento, quindi è necessario fare attenzione durante l’utilizzo. Questo metodo potrebbe produrre risultati indesiderati, quindi fai attenzione.

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

Ricarica un modulo in Python

Nel caso in cui abbiamo apportato modifiche a un modulo e desideriamo implementarle senza riavviare il programma, possiamo usare la funzione reload() che ricaricherà il modulo richiesto.

La funzione reload() ha una lunga storia in Python. Fino a Python 2.7 era una funzione incorporata.

Da Python 3.0 a Python 3.3, era presente nella libreria imp che è stata successivamente deprecata e modificata nel modulo importlib, che contiene funzioni per implementare i meccanismi di importazione dei codici nei file Python.

Il codice seguente mostra come utilizzare la funzione reload().

import importlib

reload(module_name)
Autore: Manav Narula
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

Articolo correlato - Python Module