Subprocess python læs output løbende
Hvis jeg nu f.eks. har en fil bestående af:import time
print 'Starting print in test3.py'
time.sleep(3)
print 'Ending print in test3.py'
og en anden fil bestående af nedenstående, som altså kalder ovenstående fil:
import time
import subprocess
print 'Sending process to test3'
process = subprocess.Popen(['python', 'test3.py'], stdout=subprocess.PIPE)
print process.communicate()[0]
print 'Done with it all...'
Så ville jeg godt at når man kørte "python test.py" (som filen ovenfor hedder) så ville den printe:
Sending process to test3
direkte efterfulgt af
Starting print in test3.py
Men i stedet venter programmet på at filen bliver færdig, altså efter sleep'et, og returnerer hele printet, før programmet altså returnerer og der printes noget hos den kaldende fil. Jeg har google meget og fundet flere forslag, men intet virker når jeg prøver at implementere det. Nogen der kan hjælpe?
På forhånd tak.