Der einfachste Weg, den ich kenne, ist die Verwendung des Pakets "child_process", das im Lieferumfang des Knotens enthalten ist.
Dann können Sie so etwas tun wie:
const spawn = require("child_process").spawn;
const pythonProcess = spawn('python',["path/to/script.py", arg1, arg2, ...]);
Dann müssen Sie nur noch sicherstellen, dass Sie import sys
in Ihrem Python-Skript sind, und dann können Sie mit arg1
using sys.argv[1]
, arg2
using sys.argv[2]
usw. darauf zugreifen .
Um Daten an den Knoten zurückzusenden, gehen Sie im Python-Skript wie folgt vor:
print(dataToSendBack)
sys.stdout.flush()
Und dann kann der Knoten auf Daten warten, indem er:
pythonProcess.stdout.on('data', (data) => {
// Do something with the data returned from python script
});
Da auf diese Weise mehrere Argumente mithilfe von Spawn an ein Skript übergeben werden können, können Sie ein Python-Skript so umstrukturieren, dass eines der Argumente entscheidet, welche Funktion aufgerufen werden soll, und das andere Argument an diese Funktion usw. übergeben wird.
Hoffe das war klar. Lassen Sie mich wissen, wenn etwas geklärt werden muss.