Как вызвать функцию Python из NodeJS

У меня есть приложение Express NodeJS, но у меня также есть алгоритм MachineLearning для использования в Python. Есть ли способ вызвать функции Python из моего приложения NodeJS, чтобы использовать возможности библиотек MachineLearning?

    Самый простой способ, которым я знаю, – использовать пакет «child_process», который поставляется в комплекте с узлом.

    Тогда вы можете сделать что-то вроде:

     var spawn = require("child_process").spawn; var process = spawn('python',["path/to/script.py", arg1, arg2, ...]); 

    Затем все, что вам нужно сделать, это убедиться, что вы import sys в свой скрипт python, а затем вы можете получить доступ к arg1 используя sys.argv[1] , arg2 используя sys.argv[2] и т. Д.

    Чтобы отправить данные обратно на узел, выполните следующие действия в скрипте python:

     print(dataToSendBack) sys.stdout.flush() 

    И тогда узел может прослушивать данные, используя:

     process.stdout.on('data', function (data){ // Do something with the data returned from python script }); 

    Поскольку это позволяет передавать несколько аргументов скрипту с использованием spawn, вы можете реструктурировать скрипт python, чтобы один из аргументов решал, какую функцию вызывать, а другой аргумент передается этой функции и т. Д.

    Надеюсь, это было ясно. Дайте мне знать, если что-то нуждается в разъяснении.