如何从javascript(nodejs)程序调用python,而不创建子进程

时间:2019-06-20 09:18:15

标签: javascript node.js python-3.x

我有在nodejs上运行的硬件,并且我已经用python3编写了机器学习代码。 我想从nodejs(javascript)调用python3程序,并将数据作为参数传递给python程序。

我发现了一些使用spawn,python-shell等方法,这些方法通过创建子进程来调用python。

但是我想从父进程本身调用python,而不创建子进程。 意味着,只有一个进程(即父nodejs进程)应该正在运行。

test.py

def someFunction():
  #some code here
  #print the arguments received.

someFunction ()

test.js

call test.py from this test.js and need to pass arguments to python program as well.
call test.py with arguments as ('xyz', 'abc')

我期望输出: y abc

在没有创建并启动子进程的情况下找不到任何呼叫方式。

1 个答案:

答案 0 :(得分:1)

不能。您正在生成一个外部程序,该程序需要一个自己的进程。


好的,那不是完全正确的。您可以用JavaScript写一个完整的Python解释器或一个虚拟机(可以在其中运行OS,然后在其中运行Python),然后可以在Node.js进程中完全运行它……但是那将是大量的工作。