Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Python-Module mithilfe ihrer vollständigen Dateipfade dynamisch importieren?

Wie kann ich Python-Module mithilfe ihrer vollständigen Dateipfade dynamisch importieren?

Patricia Arquette
Freigeben: 2024-12-30 17:31:13
Original
650 Leute haben es durchsucht

How Can I Dynamically Import Python Modules Using Their Full File Paths?

Dynamisches Importieren von Modulen mit angegebenem vollständigen Pfad

Python-Module können in ein Skript importiert werden, indem ihre vollständigen Dateipfade angegeben werden. Mit dieser Methode können Sie Module laden, die möglicherweise nicht im Voraus bekannt sind oder sich außerhalb der Standardbibliothek befinden.

Module mit Importlib laden

In Python 3.5 und höher verwenden Sie importlib.util Modul:

import importlib.util
import sys

spec = importlib.util.spec_from_file_location("module.name", "/path/to/file.py")
foo = importlib.util.module_from_spec(spec)
sys.modules["module.name"] = foo
spec.loader.exec_module(foo)
foo.MyClass()
Nach dem Login kopieren

Laden von Modulen mit SourceFileLoader (Python 3.3-3.4)

Verwenden Sie in Python 3.3 und 3.4 SourceFileLoader von importlib.machinery:

from importlib.machinery import SourceFileLoader

foo = SourceFileLoader("module.name", "/path/to/file.py").load_module()
foo.MyClass()
Nach dem Login kopieren

Laden von Modulen mit imp (Python 2)

Für Python 2, Verwenden Sie das Imp-Modul:

import imp

foo = imp.load_source('module.name', '/path/to/file.py')
foo.MyClass()
Nach dem Login kopieren

Zusätzlich Hinweise

  • Der bereitgestellte Code geht davon aus, dass das Modul eine Klasse namens MyClass enthält.
  • Es gibt ähnliche Funktionen zum Importieren kompilierter Python-Dateien und DLLs.
  • Weitere Informationen finden Sie unter Weitere Informationen finden Sie im Python-Fehlerbericht: http://bugs.python.org/issue21436.

Das obige ist der detaillierte Inhalt vonWie kann ich Python-Module mithilfe ihrer vollständigen Dateipfade dynamisch 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