Bonjour,
voici un script tout bête nommé test.py :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
#!/usr/bin/env python
#coding=utf-8
import time
for i in range (1,5):   
    print i
    time.sleep(3)
Je veux le lancer et récupérer les lignes écrites par le script comme dans une console classique ligne par ligne. J'ai le code suivant mais il traite la sortie en un seul bloc et non en temps réel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env python
#coding=utf-8
import os
 
import subprocess
fileToTest = 'cheminCompletDuScriptCiDessus'
 
os.chdir(os.path.dirname(fileToTest))
x = subprocess.Popen( ["python.exe", fileToTest],
                      stdout=subprocess.PIPE,
                      stderr=subprocess.PIPE )
print x.stdout.read()
Comment modifier ce code pour obtenir l'affichage des lignes en temps réel ?

Toute info. est la bienvenue.

PS : ce post a été impulsé par la lecture de cet autre.