我正在节点Web应用程序中运行python,并且试图加载和读取python中的文件,对其进行处理,然后将其吐到node.js中。
当我运行以下python代码时,什么也没发生。
Python
import json
import sys
with open('trainingData.json') as file:
data = json.load(file)
print(data)
print('hello from python')
sys.stdout.flush()
当我删除with open
时,它运行良好。如何在python中读取文件并在node.js中调用该文件?这是节点代码
节点
app.get('/', (req, res) => {
const spawn = require('child_process').spawn;
const process = spawn('python', ['./python/script.py', 'Hello', 'World']);
process.stdout.on('data', data => console.log(data.toString()));
res.send('he');
});
(当我从终端运行python文件时,它可以正常工作。)
答案 0 :(得分:0)
您可以使用spawn的cwd(当前工作目录)选项来指定目录。要将其设置为“当前”当前工作目录,请使用__dirname。
const process = spawn('python', ['./python/script.py', 'Hello', 'World'], {cwd: __dirname});