Der Unterprozess des Python C-Programms hängt bei "for line in iter"

Ok, also versuche ich, ein C-Programm über ein Python-Skript auszuführen. Derzeit verwende ich ein Test-C-Programm:

#include <stdio.h>

int main() {
while (1) {
    printf("2000\n");
    sleep(1);
}
return 0;
}

Zur Simulation des Programms, das ich verwenden werde und das ständig Messwerte von einem Sensor erfasst. Dann versuche ich die Ausgabe zu lesen (in diesem Fall"2000") aus dem C-Programm mit Unterprozess in Python:

#!usr/bin/python
import subprocess

process = subprocess.Popen("./main", stdout=subprocess.PIPE)
while True:
    for line in iter(process.stdout.readline, ''):
            print line,

aber das funktioniert nicht. Ausgehend von der Verwendung von print-Anweisungen wird der Befehl ausgeführt.Popen&nbsp;Schlange wartet dann umfor line in iter(process.stdout.readline, ''):, bis ich Strg-C drücke.

Warum ist das? Dies ist genau das, was die meisten Beispiele, die ich gesehen habe, als Code haben, und dennoch liest es die Datei nicht.

Bearbeiten:

Gibt es eine Möglichkeit, es nur dann zum Laufen zu bringen, wenn es etwas zu lesen gibt?