Найти - Пользователи
Полная версия: subprocess communicate() без ожидания завершения процесса
Начало » Python для экспертов » subprocess communicate() без ожидания завершения процесса
1
darvin11
В скрипте открываю подпроцесс:
coolproc = subprocess.Popen(“coolprog”, stdin=subprocess.PIPE,\
stdout=subprocess.PIPE, stderr=subprocess.PIPE)

coolprog - это клевая прога, которая забирает из stdin данные из скрипта, затем в stdout отдает, затем забирает, затем отдает… И так много-много раз.
Скрипт должен соответсвенно в нее писать и читатать. Много раз, поочередно. Как это сделать?
coolproc.communicate(sendstring) - отправляет sendstring и ждет когда программа завершиться. А как отправить данные и забить? Или прочитать данные в цикле, пока ключевое слово не встретится
Андрей Светлов
У открытого popen есть stdin/stdout/stderr.
Может, стоит глянуть на subprocess.Popen.communicate / _communicate и сделать что вам нужно?
darvin11
Андрей Светлов
У открытого popen есть stdin/stdout/stderr.
Может, стоит глянуть на subprocess.Popen.communicate / _communicate и сделать что вам нужно?
stdin.write - то что нужно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB