У меня есть скрипт node.js, который запускает подпроцесс Python и считывает его стандартный вывод. Это работает до тех пор, пока процесс Python не пытается прочитать данные со стандартного ввода. Тогда родительский процесс ничего не получает от дочернего.
У меня есть сценарий node.js и два тестовых примера Python: (оба примера работают, если вы прокомментируете строки которые пытаются читать со стандартного ввода)
Первый дочерний элемент:
import sys
print('before')
for line in sys.stdin:
print(line)
print('after')
Второй ребенок:
import sys
print('before')
while True:
line = sys.stdin.readline()
if line != '':
print(line)
else:
break
print('after')
Родитель:
const spawn = require('child_process').spawn;
let client = spawn('python', ['test1.py'], {cwd: '/tmp'});
client.stdout.on('data', (data) => {
console.log(data.toString());
});
client.stderr.on('data', (data) => {
console.log(data.toString());
});
client.on('close', () => {
console.log('close');
});
client.on('exit', () => {
console.log('exit');
});
client.on('disconnect', () => {
console.log('disconnect');
})
Подробнее здесь: https://stackoverflow.com/questions/407 ... from-stdin
Node.js не может читать стандартный вывод подпроцесса Python при чтении со стандартного ввода ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Opusdec.exe не может декодировать со стандартного ввода на стандартный вывод
Anonymous » » в форуме C# - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Opusdec.exe не может декодировать со стандартного ввода на стандартный вывод
Anonymous » » в форуме C# - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-