Я пытаюсь передать данные из node.js в подпроцесс python, вызываемый с помощью модуля spawn, данные представляют собой 2 строки base64.
Я думаю, что уже правильно передаю данные в python, но я не знаюКак получить доступ к ним на стороне Python.
- Как мне получить доступ к строке base64 в виде строки?
- Как получить доступ к каждой строке по отдельности?
Код Node.js:
async mainOcrScript({request}) {
const front_img = request.front_img_b64
const back_img = request.back_img_b64
const debug_mode = request.debug_mode
const lang = request.lang
const process =
await spawn('python3', [Helpers.resourcesPath('pythonScripts/main.py'),
debug_mode,
lang
]);
process.stdin.write(front_img); // base64 string
process.stdin.write(back_img); // base64 string
process.stdin.end();
process.stdout.on('data', (data) => {
console.log(data);
});
process.stderr.on('data', (data) => {
console.log(data);
});
process.on('exit', (code) => {
console.log("Process quit with code : " + code);
});
}
Python main.py:
if __name__ == '__main__':
print(sys.stdin)
# How do i access front_img and back_img variables that i had on node.js ?
sys.exit()
main(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4])
Когда я это сделаю:
print(sys.stdin.read())
Все, что я получаю, это несколько строк буфера.
Спасибо.