Я узнал, что при выполнении команд в Python я должен использовать подпроцесс. То, что я пытаюсь достичь, - это кодировать файл через ffmpeg и наблюдать за выходом программы до тех пор, пока файл не будет выполнен. Ffmpeg записывает прогресс в stderr.
Если я попробую что-то вроде этого:
child = subprocess.Popen(command, shell=True, stderr=subprocess.PIPE)
complete = False
while not complete:
stderr = child.communicate()
# Get progress
print "Progress here later"
if child.poll() is not None:
complete = True
time.sleep(2)
программа не будет продолжена после вызова child.communicate() и ждет завершения команды. Есть ли другой способ следить за выходом?