Невозможно получить "весь" вывод дочернего процесса при использовании Popen - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь использовать скрипт на python для автоматизации интерактивного консольного приложения.(он называется BLEConsole и это приложение для магазина Microsoft https://www.microsoft.com/en-us/p/bleconsole/9p5662fdq58v, не уверен, что это важно.)

Поэтому я использовал os.popenX и subprocess.popen для запуска и взаимодействия с ним,и работает нормально ... в основном!

inp,outp = os.popen4('BLEConsole.exe')
inp.write('ls\n') # this one work
inp.write('open #01\n') # this one don't generate any output for some reason 
inp.write('format hex\n') # and it's working again ??
inp.write('quit\n')
print outp.read()

некоторые команды работают и печатают на стандартный вывод, а другие нет.

они работают (устройство Bluetooth подключается просто отлично), ноя просто не могу захватить любой вывод, кроме разрывов строк при выполнении этой конкретной команды.(да, он должен выводить вещи, это происходит, когда я делаю это вручную)

edit: да, я проверяю stdout и stderr

Также я не могуперехватите подсказку «BLE:», используя этот метод, мне она не нужна, но я не понимаю, почему.

Спасибо за вашу помощь

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