簡體   English   中英

Express節點與python的通信

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM