Oft hat man den Fall, dass eine Applikation auf Node.js basiert, jedoch eine API nur Python-Libraries zur Verfügung stellt. In diesem Fall musst du über Node.js ein Python-Skript ausführen und Daten zwischen beiden Techniken übermitteln. In Node.js erzielt man dies über Child-Prozesse. Genauer gesagt über das child_ process-Modul. Nachfolgend ein einfaches Beispiel.
Gehen wir davon aus wir haben ein Python-Skript, welches Daten von einer API abfragt. Im nachfolgenden Beispiel wird dies über ein einfaches Objekt simuliert:
import json response = { "Response": 200, "Message": "This is the data from the python script", "Data": "Example" } print(json.dumps(response))
Über die print-Methode wird das Ergebnis ausgegeben. Nun können wir unsere Node.js-Logik bauen. Dabei benutzen wir eine Methode namens “child_process.spawn()”. Diese erzeugt den Prozess asynchron, ohne die Node.js-Ereignisschleife zu blockieren. Hier das Beispiel:
const spawn = require('child_process').spawn; const pythonProcess = spawn('python3', ['python.py']); pythonProcess.stdout.on('data', (data) => { console.log(data.toString()); });