Я пытаюсь запустить программу (HandBreakCLI) как подпроцесс или поток из Python 2.7. Я дошел до его запуска, но я не могу понять, как контролировать его stderr и stdout.
Программа выводит свой статус (% выполнено) и информацию о кодировании в stderr и stdout соответственно. Я хотел бы иметь возможность периодически извлекать% сделано из соответствующего потока.
Я попытался вызвать subprocess.Popen с stderr и stdout, установленными в PIPE, и использовать subprocess.communicate, но он сидит и ждет, пока процесс не будет завершен или завершен, а затем получит выходные данные. Не приносит мне ничего хорошего.
Я запустил его и запустил как поток, но, насколько я могу судить, мне все равно нужно в конечном итоге вызвать подпроцесс. Открыть, чтобы запустить программу и запустить в той же стене.
Правильно ли я поступаю? Какие другие варианты у меня есть или как заставить это работать как описано?