我一直在关注我发现的几个从 Node.js 调用 Python 脚本的示例。我能够执行脚本,但无法从 Python 返回数据。
测试.js
var sys = require('sys'),
spawn = require('child_process').spawn,
dummy = spawn('python', ['test.py']);
dummy.stdout.on('data', function (data) {
sys.print("testing...\n");
sys.print(data);
});
Run Code Online (Sandbox Code Playgroud)
测试文件
import time
def dummy() :
out = '';
for i in range(0,10) :
out += str(i + 1) + "\n"
time.sleep(0.1)
print out
return out
if __name__ =='__main__' :
dummy = dummy()
Run Code Online (Sandbox Code Playgroud)
有人可以提供一个如何将结果从 test.py 返回到 test.js 的示例吗?
谢谢。
注意:test.py 进行了适当的缩进编辑。
我想出了如何做到这一点,通过在 Python 中打印数据,并使用 stdout.on() 在 Node 中“监听”打印。
测试.js
var sys = require('sys'),
spawn = require('child_process').spawn,
dummy = spawn('python', ['test.py']);
dummy.stdout.on('data', function(data) {
sys.print(data.toString());
});
Run Code Online (Sandbox Code Playgroud)
测试.py
import time
def dummy() :
out = '';
for i in range(0,10) :
out += str(i + 1) + ", "
time.sleep(0.1)
print out
if __name__ =='__main__' :
dummy = dummy()
Run Code Online (Sandbox Code Playgroud)