Desidero stampare alcune istruzioni di debug durante un ciclo nella mia funzione e io uso IPython per chiamare la funzione. Lasciò una funzione esempio essere:Come svuotare le istruzioni stampate in IPython
def test_print():
import time
for i in range(5):
time.sleep(2)
print i, time.time()
Il risultato è come segue:
0 1372337149.84
1 1372337151.84
2 1372337153.85
3 1372337155.85
4 1372337157.85
mi aspetto ogni riga da stampare, quindi attendere 2 secondi. Ma il comportamento è il seguente. I primi osservare:
0 1372337149.84
1
Poi, dopo 2 secondi osservo il timestamp 1
e l'id della riga successiva, che è 2
. Osservo finalmente l'ultimo timestamp. Non riuscivo a capire perché si comporta così invece di una riga alla volta. qualche idea? Ho bisogno di una funzione di scarico speciale per stampare ciò che è in attesa di essere stampato?
Funziona normalmente per me. – Doorknob
Utilizzo di CPython si comporta come previsto. Per Linux e Windows. – Elazar
Sto utilizzando Canopy 1.0.1. Ha Python 2.7.3 64 bit in esso. – petrichor