Я хочу последовательно запустить некоторые сценарии c, которые разветвляют свои собственные процессы (в новом окне командной строки) и дать "Press any key to continue..."
после их завершения. Технически это специальный компилятор. Он всплывает с окном командной строки и сообщает мне, была ли успешной компиляция или нет. Но это окно командной строки вызывает новые процессы для компиляции, которые возвращают 0, прежде чем это должно ..
Моя первая попытка была
process = subprocess.Popen(cmd)
process.wait()
при переборе каждого файла. К сожалению, это не ждет "Нажмите любую клавишу, чтобы продолжить ..." и взрывается мне в лицо. Кажется, что вызов wait()
проходит, когда завершен внутренний процесс (к которому у меня нет доступа).
Как я могу вместо этого подождать "Нажмите любую клавишу, чтобы продолжить ..."? Он также печатает некоторую другую информацию, прежде чем нажать любую клавишу для продолжения строки.
В настоящее время мой код:
process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
completed = False
while not completed:
if process.poll() is not None:
completed = True
print "communicating"
process.communicate("k")
print "communicated"