python -оболочка и многопроцессорная печать не - PullRequest
0 голосов
/ 31 марта 2020

У меня проблема. Я использую пакет nodejs python -shell npm, который позволяет отправлять сообщения IP C на python, и считываю операторы печати сценария python как IP C обратно.

Итак, сначала я создал полностью рабочий python сценарий, который принимает стандартный ввод и печатает на стандартный вывод.

Затем я реализовал python -оболочку IP C для отправки сообщения сценарию python и все работало.

ПРОБЛЕМА началась, когда я создал процесс в сценарии python (с помощью multiprocessing.Process), и перенес туда действие.

Здесь я заметил, что недавно созданные процессы 'stdout не получен через python -shell! но как это возможно?

Разве процессы не совпадают со сценарием, выполняющим его?

Например, отладочный код можно найти в предыдущем посте относительно та же проблема.

Пожалуйста - любая помощь может помочь.

1 Ответ

0 голосов
/ 31 марта 2020

Может быть, то же самое, что я делаю сейчас. Вы можете использовать PythonShell. Давайте посмотрим пример, который вы сможете понять.

var myPythonScriptPath = 'script.py';

// Use python shell
var PythonShell = require('python-shell');
var pyshell = new PythonShell(myPythonScriptPath);

pyshell.on('message', function (message) {
// received a message sent from the Python script (a simple "print" statement)
console.log(message);
});

// end the input stream and allow the process to exit
pyshell.end(function (err) {
if (err){
    throw err;
};

console.log('finished');
});

Позвольте мне знать, если у вас все еще есть проблемы. Удачного кодирования.

...