我想从node.js 调用python 函数。我找到了python-shell 。但据我了解它只能运行完整的 python 脚本。
我有一些逻辑(加载一个大文件),大约需要 2 分钟。我想运行它,然后从 Node 调用 python 函数,以便文件仅加载一次。
# load a huge file takes 2min
model = xyz.load(path)
# function using that model
def doSomething(id):
# some logic using the model
return model.get(id)
如何重复调用 doSomething()
而无需每次都加载文件?
最佳答案
理论上,可以将 Python 解释器加载到另一个进程中,然后与其进行交互,但如果还没有相应的包,那么这并不容易。您可能已经检查过了。
如果可能的话,事先弄清楚需要在 Python 中执行的所有操作,将列表传递给脚本,并将结果作为列表返回给 Node.js。这样您只需运行脚本一次。
如果这不可能,您可以将 Python 脚本作为单独的进程启动,并让 Node.js 程序使用某种协议(protocol)与其进行通信,也许像通过 stdin/stdout 的 JSON 这样简单的协议(protocol)。然后,您的 Node.js 程序可以向 Python 程序发送命令,Python 程序可以回复结果。
关于python - 从node.js调用python函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50113986/