Передайте строки base64 из node.js в подпроцесс python через stdin и получите доступ к строкам на стороне python - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь передать данные из node.js в подпроцесс python, вызываемый с помощью модуля spawn, данные представляют собой 2 строки base64.

Я думаю, что уже правильно передаю данные в python, но я не знаюКак получить доступ к ним на стороне Python.

  1. Как мне получить доступ к строке base64 в виде строки?
  2. Как получить доступ к каждой строке по отдельности?

Код 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())

Все, что я получаю, это несколько строк буфера.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...