title: Python Printing StdOut As It Received
body: <p>I'm trying to run wrap a simple (windows) command line tool up in a PyQt GUI app that I am writing.  The problem I have is that the command line tool throws it's progress out to stdout (it's a server reset command so you get "Attempting to stop" and "Restarting" type output.</p>
  
  <p>What I am trying to do is capture the output so I can display it as part of my app.  I assumed it would be quite simple to do something like the following :</p>
  
  <pre><code>import os
  import subprocess as sub
  cmd = "COMMAND LINE APP NAME -ARGS"
  proc = sub.Popen(cmd, shell=True, stdout=sub.PIPE).stdout
  while 1:
      line = proc.readline()
      if not line: 
          break
  print line
  </code></pre>
  
  <p>This partially works in that I do get the contents of StdOut but instead of as the progress messages are sent I get it once the command line application exits and it seems to flush StdOut in one go.</p>
  
  <p>Is there a simple answer?</p>