我试图从节点文件中调用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')
显示。我的代码有什么问题?
没有问题 ...
这是您的工作代码的一些细微调整(我将缓冲区转换为字符串,以便其易于阅读)
// 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