Cara termudah yang saya tahu adalah dengan menggunakan paket "child_process" yang dikemas dengan simpul.
Maka Anda dapat melakukan sesuatu seperti:
const spawn = require("child_process").spawn;
const pythonProcess = spawn('python',["path/to/script.py", arg1, arg2, ...]);
Maka yang harus Anda lakukan adalah memastikan bahwa Anda berada import sys
di skrip python Anda, dan kemudian Anda dapat mengakses arg1
menggunakan sys.argv[1]
, arg2
menggunakan sys.argv[2]
, dan sebagainya.
Untuk mengirim data kembali ke simpul, lakukan hal berikut dalam skrip python:
print(dataToSendBack)
sys.stdout.flush()
Dan kemudian node dapat mendengarkan data menggunakan:
pythonProcess.stdout.on('data', (data) => {
// Do something with the data returned from python script
});
Karena ini memungkinkan beberapa argumen untuk diteruskan ke skrip menggunakan spawn, Anda dapat merestrukturisasi skrip python sehingga salah satu argumen memutuskan fungsi mana yang akan dipanggil, dan argumen lain diteruskan ke fungsi itu, dll.
Semoga ini jelas. Beri tahu saya jika ada sesuatu yang perlu diklarifikasi.