我知道的最简单的方法是使用随节点打包的“child_process”包。
那么你可以做一些像:
var spawn = require("child_process").spawn;
var process = spawn('python',["path/to/script.py", arg1, arg2, ...]);
那么所有你需要做的就是确保在你的python脚本中导入sys,然后你可以使用sys.argv [1],arg2使用sys.argv [2]访问arg1,等等。
要将数据发送回节点,只需在python脚本中执行以下操作:
print(dataToSendBack)
sys.stdout.flush()
然后节点可以使用以下方式监听数据:
process.stdout.on('data', function (data){
// Do something with the data returned from python script
});
由于这允许使用spawn将多个参数传递给脚本,您可以重新构造一个python脚本,以便其中一个参数决定要调用哪个函数,另一个参数被传递给该函数等。
希望这很清楚。让我知道有需要澄清的事情。