[Python] Ich habe meine eigene Bibliothek erstellt, die dynamisch importiert werden kann

Hallo! Es ist Nukosuke! Python hat eine eingebaute Bibliothek, die dynamisch ein Modul namens importlib importiert, aber ich habe meine eigene Bibliothek erstellt, um die Verwendung zu vereinfachen!

Was können Sie mit dieser Bibliothek machen?

Durch Angabe des Paketnamens können Sie die Module unter ** dynamisch importieren und dann das im Modul definierte Klassenobjekt abrufen! ** ** ** Insbesondere können Sie den folgenden Python-Code schreiben!

project/
 ├ example.py
 └ validator/
   ├ validator_a.py
   ├ validator_b.py
   └ validator_c.py
class ValidatorA:
    #Gleiches gilt für b und c
    def valildate(self, input):
        #Validierungsprozess
from autoload.module_loader import ModuleLoader

input = "foo bar baz"
loader = ModuleLoader()

#Lädt automatisch Module unter Validator und gibt eine Liste von Klassenobjekten wie ValidatorA zurück
validator_classes = loader.load_classes("validator")
try:
    #Instanziieren Sie ein Klassenobjekt und führen Sie eine Methode aus
    [clazz().validate(input) for clazz in validator_classes]
except:
    print("input is invalid!!")

Was ist lecker an dieser Bibliothek?

** Es ist sehr nützlich, wenn Sie etwas zusammen machen wollen! ** ** ** Das Folgende wird als konkretes Anwendungsszenenbeispiel angenommen.

Bei der Implementierung einer Pipeline sieht es folgendermaßen aus: (Dies ist ein Bild der parallelen Erfassung und Verarbeitung von Daten.)

project/
 ├ example.py
 └ pipelineA/
   ├ get_data_a.py
   └ processing_data_a.py
 └ pipelineB/
   ├ get_data_b.py
   └ processing_data_b.py
from autoload.module_loader import ModuleLoader

package_names = ("pipelineA", "pipelineB")
loader = ModuleLoader()

#Dies ist eine parallele Verarbeitung
for package_name in package_names:
    GetData, ProcessingData = loader.load_classes(package_name)
    data = GetData().get()
    processed_data = ProcessingData().process(data)

Wie benutzt man diese Bibliothek?

Informationen zur Verwendung finden Sie auf dieser Seite.

Warum hast du so eine Bibliothek gemacht?

Ursprünglich habe ich persönlich eine Website erstellt, die die Empfehlungsstufe von Büchern bewertet und einführt, aber ich wende verschiedene Validierungsmuster auf die Buchdaten an Ich musste.

Ich habe auf verschiedene Weise gegoogelt und gedacht, ich könnte für jedes Validierungsmuster ein Modul erstellen und es dynamisch importieren, um ein gutes Gefühl zu erzeugen und die Validierung auszuführen, aber es schien nicht so zu sein, dass ich es selbst gemacht habe!

Ich habe es selbst gemacht, aber ich dachte, es könnte für allgemeine Zwecke verwendet werden, also habe ich es als Bibliothek veröffentlicht!

Ein letztes Wort

Ein Beitrag ist willkommen, da es noch einige Dinge gibt, die nicht ausreichen!

Recommended Posts

[Python] Ich habe meine eigene Bibliothek erstellt, die dynamisch importiert werden kann
Ich habe meine eigene Python-Bibliothek erstellt
Ich habe ein Shuffle gemacht, das mit Python zurückgesetzt (zurückgesetzt) werden kann
Ich habe meine eigene Sprache gemacht. (1)
Ich habe meine eigene Sprache gemacht (2)
Ich habe meine eigene AML gemacht
Ich habe meine eigene Django Middleware erstellt, damit ich von überall auf Anforderungsinformationen zugreifen kann
Ich habe versucht, meine eigene Python-Baseballbibliothek bei Packaging & PyPI zu veröffentlichen
Ich habe ein Paket erstellt, das morphologische Analysegeräte mit Python vergleichen kann
Python> Ich habe einen Testcode für meine eigene externe Datei erstellt
[Python] Ich habe eine Klasse erstellt, die schnell einen Dateibaum schreiben kann
Ich habe eine generische Python-Projektvorlage erstellt
[Python] Ich habe ein Dienstprogramm erstellt, das wie ein Pfad auf den Diktattyp zugreifen kann
Ich habe einen einfachen Timer erstellt, der vom Terminal aus gestartet werden kann
Ich habe ein Modul PyNanaco erstellt, das Nanaco-Guthaben mit Python belasten kann
Ich habe meinen eigenen primitiven statischen Site-Generator erstellt
Ich habe versucht, mein eigenes Modul zu veröffentlichen, damit ich es per Pip installieren kann
Ich möchte eine Prioritätswarteschlange erstellen, die mit Python (2.7) aktualisiert werden kann.
Ich habe PyQCheck, eine Bibliothek, die QuickCheck mit Python ausführen kann, in PyPI registriert.
Ich habe versucht, die Python-Bibliothek "pykakasi" zu verwenden, die Kanji in Romaji konvertieren kann.
Ich habe ein Docker-Image erstellt, das FBX SDK Python von Node.js aus aufrufen kann
So installieren Sie die Python-Bibliothek, die von Pharmaunternehmen verwendet werden kann
Ich habe meinen eigenen Parallel Link Roboter (Software Edition) gemacht
Ich habe eine VM erstellt, auf der OpenCV für Python ausgeführt wird
Hinweise zu Python-Kenntnissen, die mit AtCoder verwendet werden können
Kann bei Wettkampfprofis eingesetzt werden! Python-Standardbibliothek
Ich habe eine Python-Bibliothek erstellt, die einen rollierenden Rang hat
Ich habe meinen eigenen Parallelverbindungsroboter gebaut (mechanische Ausgabe)
Ich habe ein Modul erstellt, das leicht fehlerhaft sein kann, aber ich kann das Argument nicht von entry_points übergeben
[Atcoder] [C ++] Ich habe ein Testautomatisierungstool erstellt, das während des Wettbewerbs verwendet werden kann
Bis Sie Ihre eigene Python-Bibliothek mit pip installieren können
Skripte, die bei der Verwendung von Bottle in Python verwendet werden können
Ich habe die Vorbehandlung untersucht, die mit PyCaret durchgeführt werden kann
Ich habe ein Plug-In erstellt, das "Daruma-san Fell" mit Minecraft ausführen kann
Ich habe einen Blackjack mit Python gemacht!
Ich habe einen Python-Text gemacht
Ich habe mit Python einen Blackjack gemacht.
Ich habe Wordcloud mit Python gemacht.
Ich habe es gemacht, weil ich JSON-Daten möchte, die in Demos und Prototypen frei verwendet werden können
Ich habe die Jumbo-Lotterie zum Jahresende mit Python gekauft und analysiert, die in Colaboratory ausgeführt werden kann
[Python] Ich habe einen Line-Bot erstellt, der zufällig nach englischen Wörtern fragt
[Python] Erstellen Sie ein Diagramm, das mit Plotly verschoben werden kann
Ich habe eine Bibliothek erstellt, die Konfigurationsdateien mit Python einfach lesen kann
Ich habe Python ausprobiert! ] Kann ich auf iPad Pro auf Kaggle posten?
Untersuchung der von Python steuerbaren Gleichstromversorgung
Erstellt eine Bibliothek für Python, die die morphologische Teilung problemlos handhaben kann
Über psd-tools, eine Bibliothek, die psd-Dateien in Python verarbeiten kann
Zusammenfassung der Standardeingabe von Python, die in Competition Pro verwendet werden kann
Ich habe mein eigenes Filter-Plug-In für Ansibles Textanalyse erstellt
Python-Standardmodul, das in der Befehlszeile verwendet werden kann
Ich habe eine Python-Wrapper-Bibliothek für die Docomo-Bilderkennungs-API erstellt.
Ich habe einen Tri-Tree geschrieben, der für die Implementierung von Hochgeschwindigkeitswörterbüchern in D-Sprache und Python verwendet werden kann
[Python] Ich habe eine Funktion erstellt, die auch reguläre Ausdrücke verwenden kann, die Zeichenfolgen auf einmal ersetzen.
Ich habe versucht, mein Verständnis zu vertiefen, indem ich einen eigenen Diskriminator erstellt habe, der Binärwerte mithilfe logistischer Regression klassifizieren kann.
Kann ich Datenwissenschaftler werden?
Ich habe einen Line-Bot mit Python gemacht!