Не удалось прочитать вывод подпроцесса - PullRequest
0 голосов
/ 06 февраля 2012

Я выполняю команду python,

proc = subprocess.Popen(cmd,
                        shell=False,
                        stdin=subprocess.PIPE,
                        stdout=subprocess.PIPE,
                        stderr=subprocess.PIPE,
                        )

после выполнения команды я хочу прочитать stderr и stdout

res = proc.stderr.read()

, если я ожидаю любую ошибку или ''

но чтение, которое занимает stderr, занимает бесконечное время, это зависание, не считывающее значения, что бы ни получалось в результате it.it за бесконечное время.

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

Любой намек, спасибо.

1 Ответ

1 голос
/ 06 февраля 2012

Вместо того, чтобы явно вызывать stderr.read (), просто сделайте сообщение по процессу.

output, error = proc.communicate()

Таким образом, вы получите вывод и ошибку, связавшись с процессом.

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