Python 函数未在 node.js 中加载

Python function not loading in node.js

我正在尝试 运行 一个 python 函数,其参数来自 node.js。

当我运行process.stdout.on什么都没有发生。这是完整的代码:

Node.js

app,get('/', async (req, res) => {
    const spawn = require('child_process').spawn; // Should this be called every time, or can I just put it with my other `require` statements?
    var process = await spawn('python', [
        '../../python/hello.py',
        'Hello',
        'World'
    ]);
    process.stdout.on('data', function(data) {
        console.log(data.toString());
        // res.send(data.toString()); // When I do this, the website never loads
    });
    res.send('test');
});

Python

import sys

print("Output from Python")
print("First name: " + sys.argv[1])
print("Last name: " + sys.argv[2])

我正在 运行 通过 nodemon 安装节点应用程序,但我没有看到任何结果。 (我是 python 的新手,所以我不知道在节点应用 运行ning 时是否必须 运行ning。

似乎没有加载 python 文件。我怎样才能加载它?

问题似乎是您将 await 用于 spawn- 我 运行 以下类似代码并将输出打印到控制台:

app.js

const spawn = require('child_process').spawn;
const process = spawn('python', ['./script.py', 'Hello', 'World']);
process.stdout.on('data', (data) => console.log(data.toString()));

script.py

import sys
print("Python")
print("First: " + sys.argv[1])
print("last: " + sys.argv[2])