当前位置:  开发笔记 > 编程语言 > 正文

使用node.js child_process调用python脚本

如何解决《使用node.jschild_process调用python脚本》经验,为你挑选了1个好方法。

我试图从节点文件中调用python代码。

这是我的node.js代码:

var util = require("util");

var spawn = require("child_process").spawn;
var process = spawn('python',["workpad.py"]);

util.log('readingin')

process.stdout.on('data',function(data){
    util.log(data);
});

和我的python部分:

import sys

data = "test"
print(data)
sys.stdout.flush()

在cmd窗口中,仅util.log('readingin')显示。我的代码有什么问题?



1> Scott Stensl..:

没有问题 ...

这是您的工作代码的一些细微调整(我将缓冲区转换为字符串,以便其易于阅读)

// spawn_python.js
var util = require("util");

var spawn = require("child_process").spawn;
var process = spawn('python',["python_launched_from_nodejs.py"]);

util.log('readingin')

process.stdout.on('data',function(chunk){

    var textChunk = chunk.toString('utf8');// buffer to string

    util.log(textChunk);
});

这是你的蟒蛇

# python_launched_from_nodejs.py
import sys

data = "this began life in python"
print(data)
sys.stdout.flush()

最后是运行的输出

node spawn_python.js 
11 Dec 00:06:17 - readingin
11 Dec 00:06:17 - this began life in python

节点-版本

v5.2.0

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有