Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Python-Module korrekt aus String-Variablen importieren?

Wie kann ich Python-Module korrekt aus String-Variablen importieren?

Mary-Kate Olsen
Freigeben: 2024-11-29 01:38:11
Original
946 Leute haben es durchsucht

How Can I Correctly Import Python Modules from String Variables?

Importieren von Modulen aus String-Variablen mit Pythons import

Im Bereich der Python-Programmierung kann die Notwendigkeit auftreten um Module dynamisch basierend auf String-Variablen zu importieren. Allerdings kann dieser Ansatz im Vergleich zu herkömmlichen Importanweisungen zu unerwarteten Ergebnissen führen. In diesem Artikel befassen wir uns mit dem Innenleben der Python-Funktion import und erläutern die Unterschiede zwischen diesen beiden Ansätzen.

Stellen Sie sich das folgende Szenario vor: Wir möchten eine Liste der Hauptklassen von erhalten ein Submodul der thematplotlib-Bibliothek. Dazu versuchen wir, das Submodul mit __import__ aus einem String zu laden:

import matplotlib.text as text
x = dir(text)

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

Wenn wir die Listen „x“ und „y“ vergleichen, stellen wir fest, dass „y“ unerwartete Elemente enthält, die in nicht vorhanden sind 'X'. Dies deutet darauf hin, dass import zusätzliche Informationen lädt, die wir nicht benötigen.

Der Schlüssel zum Verständnis dieses Verhaltens liegt im fromlist-Parameter von import__. Standardmäßig ist dieser Parameter eine leere Liste, die __import anweist, alle verfügbaren Attribute aus dem angegebenen Modul zu laden. Um dieses Problem zu beheben, müssen wir explizit eine leere Zeichenfolge ('') in der Fromlist angeben:

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

Mit dieser Änderung bezieht sich „i“ jetzt ausschließlich auf das Submodul „matplotlib.text“ und 'y' enthält die gewünschte Liste der Hauptklassen.

Alternativ können wir in Python 3.1 oder höher das Modul importlib verwenden, um dasselbe zu erreichen Ergebnis:

import importlib

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

Durch das Verständnis der Komplexität der Importmechanismen von Python können wir effektiv durch die Nuancen des Modulladens navigieren und sicherstellen, dass sich unsere Programme wie beabsichtigt verhalten.

Das obige ist der detaillierte Inhalt vonWie kann ich Python-Module korrekt aus String-Variablen importieren?. 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