и получите немедленный ответ в консоли JS!

аюсь создать приложение nw.js, которое взаимодействует с Python, используя модуль узла PythonShell.

У меня проблема в том, что в консоль ничего не пишется, если я не закрою стандартный ввод. Однако я хотел бы оставить поток открытым, чтобы можно было отправлять несколько команд сценарию Python и сохранять его состояние в Python.

Вот мои сценарии:

script.py

import sys

def main():
    command = sys.stdin.readlines()  # unused for now
    sys.stdout.write("HELLO WORLD")
    sys.stdout.flush()

if __name__ == '__main__':
    main()

main.js

var PythonShell = require('python-shell');
var pyshell = new PythonShell('script.py');

pyshell.on('message', function (message) {
  console.log(message);
});

pyshell.send('hello');

На данный момент ничего не происходит.

Если я сделаюpyshell.end(), затемHELLO WORLD выводится на консоль. Но тогда я не могу выдать дальшеpyshell.send команды.

Как я могу сохранить дочерний процесс Python, работающий и ожидающий ввода, при этом перенаправляя весь вывод обратно в JS?

Ответы на вопрос(1)

Ваш ответ на вопрос