[英]Communication of express node with python
我有一個快速節點應用程序,該應用程序包含一個接受用戶數據的表格,輸入到mongodb中,然后運行一個以用戶數據為參數的python算法並將數據返回給應用程序。問題是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");
});
在我這是一個非常愚蠢的錯誤。謝謝@Hiren .S。 我沒有正確放置python文件的路徑。在上面的代碼中,同一目錄必須是./long.py,這讓我大失所望。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.