Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich ein Python-Modul dynamisch aus einem bestimmten Dateipfad importieren?

Wie kann ich ein Python-Modul dynamisch aus einem bestimmten Dateipfad importieren?

Linda Hamilton
Freigeben: 2024-12-20 11:37:09
Original
959 Leute haben es durchsucht

How Can I Dynamically Import a Python Module from a Specific File Path?

Dynamisches Importieren eines Moduls aus einem angegebenen Pfad

In Python erfolgt das Importieren eines Moduls normalerweise durch Angabe seines Namens. Was aber, wenn Sie ein Modul aus einer bestimmten Datei importieren müssen, unabhängig von seinem Speicherort im Dateisystem?

Lösung:

Um ein Modul basierend auf dynamisch zu importieren Um den vollständigen Pfad zu erreichen, können Sie eine der folgenden Techniken verwenden:

Python 3.5 (Empfohlen):

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()  # Access a class within the module
Nach dem Login kopieren

Python 3.3 und 3.4:

from importlib.machinery import SourceFileLoader

foo = SourceFileLoader("module.name", "/path/to/file.py").load_module()
foo.MyClass()  # Access a class within the module
Nach dem Login kopieren

Python 2:

import imp

foo = imp.load_source('module.name', '/path/to/file.py')
foo.MyClass()  # Access a class within the module
Nach dem Login kopieren

Beachten Sie, dass diese Methoden praktische Optionen zum Importieren kompilierter Python-Dateien und DLLs bieten

Zusätzlicher Hinweis:

Es ist erwähnenswert, dass dieser Ansatz besonders nützlich ist, wenn mit dynamisch generierten Modulen oder Modulen gearbeitet wird, die in keinem der Standards installiert sind Python-Pfade.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Python-Modul dynamisch aus einem bestimmten Dateipfad 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