Recharger ou dé-importer un module en Python
Les modules nous permettent de stocker les définitions de différentes fonctions et classes dans un fichier Python, et ces fichiers peuvent ensuite être utilisés dans d’autres fichiers. Les modules pandas
, NumPy
, scipy
, Matplotlib
sont parmi les plus utilisés en Python.
Nous pouvons également créer nos propres modules en Python, ce qui peut augmenter la modularité et simplifier les gros programmes.
Importer un module en Python
Nous utilisons la commande import
pour charger un module spécifique en mémoire en Python. Nous ne pouvons pas dé-importer un module puisque Python le stocke dans la mémoire cache, mais nous pouvons utiliser quelques commandes et essayer de dé-référencer ces modules de sorte que nous ne puissions pas y accéder pendant le programme. Ces méthodes peuvent cependant échouer parfois, alors soyez prudents.
La première est la commande del
. Elle est utilisée pour supprimer une variété d’objets en Python. La suppression de l’accès d’un module à l’aide de cette commande est illustrée ci-dessous.
import module_name
del module_name
Le sys.modules
est un dictionnaire qui peut être visualisé à l’aide du module sys
et est utilisé pour stocker les références d’une fonction et des modules. Nous pouvons supprimer le module requis de ce dictionnaire en utilisant la commande del
pour supprimer toutes ses références. Il est difficile de supprimer des modules qui ont été beaucoup référencés, il faut donc être prudent lors de son utilisation. Cette méthode peut produire des résultats indésirables, soyez donc prudent.
if "myModule" in sys.modules:
del sys.modules["myModule"]
Recharger un module en Python
Si nous avons apporté des modifications à un module et que nous souhaitons les mettre en œuvre sans redémarrer le programme, nous pouvons utiliser la fonction reload()
qui rechargera le module requis.
La fonction reload()
a une longue histoire en Python. Jusqu’à Python 2.7, c’était une fonction intégrée.
En Python 3.0 à Python 3.3, elle était présente dans la bibliothèque imp
qui a été par la suite dépréciée et changée en module importlib
, qui contient des fonctions pour implémenter les mécanismes d’importation de codes dans des fichiers Python.
Le code suivant montre comment utiliser la fonction 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