快递节点与python的通信

我有一个快递节点应用程序,它包含一个接受用户数据的表单,馈入到mongodb中,然后运行一个pythonalgorithm,它有用户数据作为参数并返回数据到应用程序。问题是python代码没有运行,任何东西。 我正在使用child_process来运行Python代码。 请帮忙

var express = require('express'); var ws = express(); var bodyParser = require('body-parser'); var databaseUrl = "localhost:27017/ws"; var collections = ["Users"]; var mongojs = require('mongojs'); var db = mongojs(databaseUrl,collections); var spawn = require('child_process').spawn; ws.set('view engine','ejs'); ws.use(bodyParser.urlencoded({extended : false})); ws.get('/',function(req,res){ res.render('default'); }); ws.use(express.static(__dirname + '/public')); ws.get('/*',function(req,res){ res.send("no where to go..") }); ws.post('/login',function(req,res){ var user_login=req.body.login; var user_location=req.body.location; var user_email=req.body.email; console.log("User name = "+user_login+", location is "+user_location+", Email-id is "+user_email); db.Users.insert({login : user_login, location : user_location, Email : user_email}) var process = spawn('python',['/long.py']); process.stdout.on('data', function (data){console.log("python script ends now..!!!")}); console.log("escaped python"); res.end("yes"); }); ws.listen(3000,function(){ console.log("listening on the port 3000") }); 

 var process = spawn('python', ['/long.py']); process.stdout.on('data', function(data) { console.log("python script ends now..!!!"); // will print process output }); process.stderr.on('data', function(data) { console.log('stderr: ' + data); // Error occurred; }); process.on('close', function(code) { console.log('child process exited with code ' + code); res.end("yes"); }); 

这是一个非常愚蠢的错误从我身边。谢谢@海伦。 我没有把Python文件的path正确。在上面的代码中,它必须是./long.py相同的目录。它只是我的眼睛。