首页 > 解决方案 > 无法读取 null 的属性“EOL”

问题描述

我正在尝试使用函数中所示的子进程从我的 nodejs 应用程序调用 python 脚本,当我尝试使用无服务器 i 在 aws 上部署我的应用程序并尝试执行脚本时,我遇到了这个错误:

“无法读取 null 的属性 'EOL'”

这是功能:

     const path = require('path')
 const {spawn} = require('child_process')
 // arg1 = 123

function getPlan(arg1){
    return spawn('python', [
        path.join(__dirname,'planner\\src\\algorithm.py'),//planner-master\src\algorithm.py
        arg1,
    ]);
}

const subprocess = getPlan()

// print output of script
subprocess.stdout.on('data', (data) => {
    console.log(`data:${data}`);
});
subprocess.stderr.on('data', (data) => {
    console.log(`error:${data}`);
});
subprocess.on('close', () => {
    console.log("Closed");
});
module.exports = {getPlan:getPlan}

这就是我在另一个文件中调用函数的方式:

    await getPlan(arg1);
    const subprocess = getPlan(arg1)

// print output of script
    subprocess.stdout.on('data', (data) => {
      console.log(`data:${data}`);
    });
    subprocess.stderr.on('data', (data) => {
      console.log(`error:${data}`);
    });
    subprocess.on('close', () => {
      console.log("Closed");
    });

我不明白这个错误的含义,因为我的脚本中没有任何东西叫做 EOL

标签: pythonnode.jsexpressparameter-passingchild-process

解决方案


推荐阅读