Einfache Möglichkeit, den Python-Import anzupassen

Es kann verwendet werden, wenn Sie aufgrund besonderer Umstände dynamisch importieren möchten.

https://docs.python.org/ja/3/library/importlib.html

Alles ist in das Dokument geschrieben, aber es ist ein wenig schwer zu verstehen. Wenn Sie es also schnell verwenden möchten, ist es meiner Meinung nach eine gute Idee, den folgenden Code am Anfang zu setzen.

import importlib.machinery
import sys


class PackageFinder(importlib.machinery.PathFinder):

    @classmethod
    def find_spec(cls, fullname, path=None, target=None):
        if not path:
            path = [] 
        #Geben Sie die Liste der Verzeichnisse an, die Sie im Pfad suchen möchten
        path.append("/path/to/package/root")
        return importlib.machinery.PathFinder.find_spec(fullname, path, target)

sys.meta_path.append(PackageFinder)

Durch dynamisches Wechseln des Pfads des obigen Codes können Sie auch akrobatische Aktionen ausführen, z. B. das synchrone Lesen eines bestimmten Verzeichnisses, das Herunterladen und Lesen eines Remote-Verzeichnisses (empfohlen). Ich habe keine).

Darüber hinaus gibt es auch sys.path_hooks, das anscheinend verwendet wird, wenn Sie das Verhalten des entsprechenden Modulimports anpassen möchten, indem Sie den Pfad als Argument verwenden, anstatt den Pfad hinzuzufügen.

Recommended Posts

Einfache Möglichkeit, den Python-Import anzupassen
[Python] Eine andere Möglichkeit zum Importieren
Einfache Möglichkeit, Wikipedia mit Python zu verwenden
Einfache Möglichkeit, Python 2.7 unter Cent OS 6 zu verwenden
Eine einfache Möglichkeit, Java von Python aus aufzurufen
Einfache Möglichkeit, Dateien umzubenennen
Einfache Möglichkeit, mit Google Colab mit Python zu kratzen
Eine einfache Möglichkeit, ein Importmodul mit jupyter zu erstellen
[Python] Einfache Möglichkeit, Energiedaten interaktiv zu visualisieren [plotly.express]
Einfach zu bedienendes Jupyter-Notebook (Python3.5)
Einfaches Erlernen von Python beim Schreiben
PyArmor ~ Einfache Möglichkeit, Python-Quellcode zu verschlüsseln und bereitzustellen ~
[Python Tutorial] Eine einfache Einführung in Python
Eine einfache Möglichkeit, die Amazon-Produkt-API in Python aufzurufen
Einfache Möglichkeit, nach dem Dezimalpunkt in Python3 abzurunden
[Python] Verwendung von import sys sys.argv
Auf Python 2.7.9 aktualisiert
Python ist einfach
Python-Modul importieren
Importieren Sie ein Python-Skript
"Backport" zu Python 2
Fassen Sie den Python-Import zusammen
[Python] Einfache Einführung in das maschinelle Lernen mit Python (SVM)
Der schnellste Weg für Anfänger, um Python zu beherrschen
Python für Super-Anfänger Super-Anfänger Python # Einfach loszuwerden
Zusammenfassung zum Importieren von Dateien in Python 3
Excel-Datei aus Python importieren (in DB registriert)
Der einfachste Weg, um Stimme mit Python zu synthetisieren
Python-Listeneinschlussnotation, die leicht zu vergessen ist
Einfache Möglichkeit, ein HR-Diagramm mithilfe von Astroquery zu zeichnen
Eine clevere Möglichkeit zur Zeitverarbeitung mit Python
Excel X Python Die schnellste Arbeitstechnik
Der einfachste Weg, OpenCV mit Python zu verwenden
So laden Sie einfach CPU / Speicher unter Linux
Einführung in Python mit Atom (unterwegs)
Unterschied in der Objekt-ID aufgrund des Imports in Python
[Kleine Geschichte] Einfache Möglichkeit, Jupyter in PDF zu konvertieren
So installieren Sie Python
Änderungen von Python 3.0 zu Python 3.5
Änderungen von Python 2 zu Python 3.0
[Wiedereinführung in Python] Importieren über das übergeordnete Verzeichnis
Python aus oder importieren
Schreiben Sie Python2-Code in Python3 um (2to3)
Import des Python-Originalmoduls
Einfach zu bedienende Flasche
So installieren Sie Python
Einführung in die Python-Sprache
Einfache Möglichkeit, 0 abhängig von der Anzahl der Ziffern vorangestellt [Python]
Einführung in OpenCV (Python) - (2)
Es ist nicht einfach, Python zu schreiben, es ist einfach, numpy und scipy zu schreiben
Beachten Sie, dass Python ein Daemon ist
Django kann nicht importiert werden
Einführung von Python 2.7 in CentOS 6.6
Einfach zu bedienendes SQLite3
Was tun, wenn "Name xxx nicht importiert werden kann" [Python]
[Einführung in die Udemy Python3 + -Anwendung] 68. Importanweisung und AS
Verbinden Sie Python mit MySQL