Ho appreso che durante l'esecuzione di comandi in Python, dovrei utilizzare il sottoprocesso. Quello che sto cercando di ottenere è codificare un file tramite ffmpeg e osservare l'output del programma fino a quando il file non viene completato. Ffmpeg registra il progresso in stderr.Capture subprocess output
Se provo qualcosa di simile:
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)
il programma non continua dopo aver chiamato child.communicate() e attende il completamento del comando. C'è un altro modo per seguire l'output?
correlati: [Python: leggere lo streaming di input da subprocess.communicate()] (http://stackoverflow.com/q/2715847/4279) – jfs