J'ai un programme Python simple :
test.py :
import time
for i in range(100000):
print i
time.sleep(0.5)
Je veux utiliser un autre programme qui exécute le premier afin de lire la dernière ligne de sortie pendant que le premier programme compte.
import subprocess
process = subprocess.Popen("test",stdout=PIPE)
sleep(20) # dort pendant un laps de temps arbitraire
print stdout.readlines()[-1]
Le problème est que process.stdout.readlines()
attend que test.py ait fini son exécution. Y a-t-il un moyen de lire la dernière ligne écrite dans la sortie pendant que le programme s'exécute ?