Modul in Python neu laden oder unimportieren

Manav Narula 18 Juli 2021
  1. Unimportieren eines Moduls in Python
  2. Erneutes Laden eines Moduls in Python
Modul in Python neu laden oder unimportieren

Module erlauben es uns, Definitionen verschiedener Funktionen und Klassen in einer Python-Datei zu speichern, die dann in anderen Dateien verwendet werden können. Die Module pandas, NumPy, scipy, Matplotlib sind einige der am häufigsten verwendeten Module in Python.

Wir können auch eigene Module in Python erstellen, was die Modularität erhöhen und große Programme vereinfachen kann.

Unimportieren eines Moduls in Python

Wir verwenden den Befehl import, um ein bestimmtes Modul in Python in den Speicher zu laden. Wir können ein Modul nicht unimportieren, da Python es im Cache-Speicher ablegt, aber wir können einige Befehle verwenden und versuchen, diese Module zu dereferenzieren, so dass wir während des Programms nicht darauf zugreifen können. Diese Methoden können jedoch manchmal fehlschlagen, also seien Sie bitte vorsichtig.

Der erste ist der Befehl del. Er wird verwendet, um eine Vielzahl von Objekten in Python zu entfernen. Das Entfernen des Zugriffs auf ein Modul mit diesem Befehl wird im Folgenden gezeigt.

import module_name

del module_name

Die sys.modules ist ein Dictionary, das mit dem Modul sys eingesehen werden kann und dazu dient, die Referenzen einer Funktion und von Modulen zu speichern. Wir können das gewünschte Modul aus diesem Dictionary entfernen, indem wir den Befehl del verwenden, um alle seine Referenzen zu entfernen. Es ist schwierig, Module zu entfernen, die häufig referenziert wurden, daher muss man bei der Verwendung dieser Methode vorsichtig sein. Diese Methode kann zu unerwünschten Ergebnissen führen, seien Sie also bitte vorsichtig.

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

Erneutes Laden eines Moduls in Python

Falls wir Änderungen an einem Modul vorgenommen haben und diese Änderungen implementieren möchten, ohne das Programm neu zu starten, können wir die Funktion reload() verwenden, die das erforderliche Modul neu lädt.

Die Funktion reload() hat eine lange Geschichte in Python. Bis Python 2.7 war sie eine eingebaute Funktion.

In Python 3.0 bis Python 3.3 war sie in der imp-Bibliothek vorhanden, die später veraltet und in das Modul importlib umgewandelt wurde, das Funktionen zur Implementierung der Mechanismen des Importierens von Codes in Dateien in Python enthält.

Der folgende Code zeigt, wie Sie die Funktion reload() verwenden.

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

Verwandter Artikel - Python Module