Heim > Backend-Entwicklung > Python-Tutorial > Wie rufe ich Python-Funktionen von Node.js mit „child_process' auf?

Wie rufe ich Python-Funktionen von Node.js mit „child_process' auf?

Patricia Arquette
Freigeben: 2024-11-30 14:44:10
Original
851 Leute haben es durchsucht

How to Call Python Functions from Node.js Using 'child_process'?

Aufrufen von Python-Funktionen aus Node.js

Um die Funktionen der Python-Bibliotheken für maschinelles Lernen in einer Node.js-Anwendung nutzen zu können, ist eine Aufrufmöglichkeit erforderlich Python-Funktionen aus der Node.js-Umgebung. Das Paket „child_process“ erweist sich als ideales Werkzeug, um diese Lücke zu schließen.

Lösung: Verwendung von „child_process“

Durch die Verwendung des Pakets „child_process“ können Sie erstellen einen Python-Unterprozess erstellen und darin Python-Funktionen ausführen. So geht's:

  1. Beginnen Sie mit dem Importieren des Moduls „child_process“:

    const spawn = require("child_process").spawn;
    Nach dem Login kopieren
  2. Erstellen Sie einen Python-Unterprozess und stellen Sie Python bereit Skriptpfad und alle gewünschten Argumente:

    const pythonProcess = spawn('python', ["path/to/script.py", arg1, arg2, ...]);
    Nach dem Login kopieren
  3. Auf der Python-Seite, Stellen Sie sicher, dass „sys“ importiert ist, und verwenden Sie „sys.argv“, um auf die von Node.js übergebenen Argumente zuzugreifen:

    import sys
    arg1 = sys.argv[1]
    arg2 = sys.argv[2]
    Nach dem Login kopieren
  4. Um Daten an Node.js zurückzugeben, verwenden Sie „print ' im Python-Skript und leeren Sie die Ausgabe:

    print(dataToSendBack)
    sys.stdout.flush()
    Nach dem Login kopieren
  5. Achten Sie in Node.js auf Daten vom Python Unterprozess:

    pythonProcess.stdout.on('data', (data) => {
      // Handle the data received from the Python script
    });
    Nach dem Login kopieren

Flexibilität und dynamischer Funktionsaufruf

Der Vorteil dieses Ansatzes besteht darin, dass mehrere Argumente an den übergeben werden können Python-Skript. Diese Flexibilität ermöglicht es Ihnen, ein Python-Skript zu entwerfen, bei dem ein angegebenes Argument bestimmt, welche Funktion aufgerufen werden soll, und andere Argumente an diese Funktion übergeben werden.

Beispiel:

In Ihrem Python-Skript: Definieren Sie eine Funktion für maschinelles Lernen und eine Hauptfunktion, die basierend auf einem angegebenen Argument orchestriert, welche Funktion aufgerufen werden soll:

def machine_learning_function(data):
  # Implement the machine learning functionality

def main():
  function_name = sys.argv[1]
  data = sys.argv[2]
  if function_name == "machine_learning_function":
    machine_learning_function(data)

if __name__ == "__main__":
  main()
Nach dem Login kopieren

Durch Übergabe des Funktionsnamens und der Daten Als Argumente für das Skript von Node.js können Sie die entsprechende Python-Funktion dynamisch aufrufen.

Hinweis: Die Datenübertragung zwischen Node.js und Python erfolgt über Standardausgabe und Standardeingabestreams .

Das obige ist der detaillierte Inhalt vonWie rufe ich Python-Funktionen von Node.js mit „child_process' auf?. 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