Recharger ou dé-importer un module en Python

Manav Narula 18 juillet 2021
  1. Importer un module en Python
  2. Recharger un module en Python
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)
Auteur: 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

Article connexe - Python Module