During the runtime of a process I would like to read its stdout and write it to a file. Any attempt of mine however failed because no matter what I tried as soon as I tried reading from the stdout it blocked until the process finished.
Here is a snippet of what I am trying to do. (The first part is simply a python script that writes something to stdout.)
import subprocess p = subprocess.Popen('python -c \'\ from time import sleep\n\ for i in range(3):\n\ sleep(1)\n\ print "Hello", i\ \'', shell = True, stdout = subprocess.PIPE) while p.poll() == None: #read the stdout continuously pass print "Done" I know that there are multiple questions out there that deal with the same subject. However, none of the ones I found was able to answer my question.