Python Datei (über NodeJS) von ReactApp ausführen?
Hallöchen,
ich hab herausgefunden wie man eine Python Datei von NodeJS aus starten kann.
Lokal, mit "node startconvert.js", würde das funktionieren. "spawn" exisitert jedoch bei einer WebApp nicht in dem Sinne und erkennt es nicht als Funktion. Gibt es irgendwie eine ähnliche Möglichkeit zu sagen, führe "die Datei" mit "dem Argument" aus?
Hier der Code mit dem es funktioniert hat.
NodeJS (startconvert.js)
const formdata = "Forumlardaten";
const spawn = require('child_process').spawn;
const process = spawn('python', ['runconvert.py', formdata]);
process.stdout.on('data', data => {
console.log(data.toString());
});
_______
Python (runconvert.py)
import sys
f = open("file.txt", "w")
f.write("Hier die " + sys.argv[1])
f.close()
Wo soll das Python ausgeführt werden? Auf dem PC des Nutzers, der sich mit der React App verbindet? (Meines Wissens nach nicht möglich) oder auf dem Server, der das Backend hostet?
Zweiteres, ja
1 Antwort
Ich gehe mal davon aus, dass du auf deinem Server eine REST API hast, die per NodeJS betrieben wird. Dort könntest du theoretisch eine Route eintragen, in der du das aufrufen des Skriptes implementierst. Die Daten, die das Skript zurück liefert kannst du dann per HTTP Antwort an den Client senden, der diese dann in der React Anwendung anzeigen kann.
Willst du tatsächlich vom Python Skript in eine Datei schreiben? Weil dafür gäbe es ja auch die Methoden fs.writeFile() und fs.writeFileAsync(). Tendenziell wäre es natürlich einfacher, wenn du die Operationen direkt in Node durchführen würdest.
Hilft das?
Achso naja mit Python wollte ich nur zum testen eine Datei schreiben :D
Aber okay, danke dir, dann verstehe ich das System schon genauer.