Heim > Backend-Entwicklung > Python-Tutorial > Wie unterscheiden sich „__import__' und „importlib.import_module' beim Importieren von Modulen aus Strings in Python?

Wie unterscheiden sich „__import__' und „importlib.import_module' beim Importieren von Modulen aus Strings in Python?

Linda Hamilton
Freigeben: 2024-12-06 09:08:15
Original
163 Leute haben es durchsucht

How Do `__import__` and `importlib.import_module` Differ When Importing Modules from Strings in Python?

Unterschiedliche Ergebnisse mit „__import__“ und Import-Anweisung zum Importieren von Modulen aus Strings

Bei der Arbeit mit verschachtelten Bibliotheken besteht eine häufige Aufgabe darin, Submodule mithilfe einer String-Variablen dynamisch zu importieren als Importpfad. Allerdings kann die Funktion „__import__“ im Vergleich zu einer typischen Importanweisung zu anderen Ergebnissen führen.

In Ihrem Beispiel, wenn Sie „__import__“ verwenden, ohne das Argument „fromlist“ anzugeben:

i = __import__('matplotlib.text')
Nach dem Login kopieren

Das importierte Modul enthält sowohl das Basismodul matplotlib als auch etwas Zusätzliches. Um das Untermodul matplotlib.text gezielt zu importieren, können Sie den Code wie folgt ändern:

i = __import__('matplotlib.text', fromlist=[''])
Nach dem Login kopieren

In Python 3.1 oder höher können Sie auch das Modul importlib verwenden:

import importlib

i = importlib.import_module("matplotlib.text")
Nach dem Login kopieren

Hier sind ein paar zusätzliche Hinweise, die Sie beachten sollten:

  • Für den Import von Modulen aus Unterordnern sollte der Importpfad entsprechend angegeben werden. Um beispielsweise email.py aus dem Feature-Unterordner zu importieren, verwenden Sie:
importlib.import_module("feature.email")
Nach dem Login kopieren
  • Vor Python 3.3 war es obligatorisch, eine __init__.py-Datei in dem Ordner zu haben, der Folgendes enthielt das Modul, das importiert wird. Dies ist ab Python 3.3 nicht mehr erforderlich.

Das obige ist der detaillierte Inhalt vonWie unterscheiden sich „__import__' und „importlib.import_module' beim Importieren von Modulen aus Strings in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage