Capture subprocess output
        Posted  
        
            by schneck
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by schneck
        
        
        
        Published on 2010-03-26T17:19:50Z
        Indexed on 
            2010/03/26
            17:23 UTC
        
        
        Read the original article
        Hit count: 200
        
python
|subprocess
Hi there,
I learned that when executing commands in Python, I should use subprocess. What I'm trying to achieve is to encode a file via ffmpeg and observe the program output until the file is done. Ffmpeg logs the progress to stderr.
If I try something like this:
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)
the programm does not continue after calling child.communicate() and waits for the command to complete. Is there any other way to follow the output?
© Stack Overflow or respective owner