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
Patricia ArquetteOriginal
2024-11-30 14:44:10804Durchsuche

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;
  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, ...]);
  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]
  4. Um Daten an Node.js zurückzugeben, verwenden Sie „print ' im Python-Skript und leeren Sie die Ausgabe:

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

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

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()

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!

Stellungnahme:
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