Print avec flush dans un notebook
Bonjour,
Lors de l'exécution de fonction avec une boucle où chaque itération prend du temps, quelque chose de pratique est d'afficher au fur et à mesure un indicateur pour savoir où est-ce que ça en est. Une solution est d'afficher par exemple l'indice d'itération, mais en faisant un simple `print`, cela retuorne à la ligne à chaque fois et cela prend de la place (d'autant plus que je travaille ici dans un notebook). En utilisant les options `flush` et `end`, j'arrive à faire cela dans un terminal python (cf la fonction jointe), mais cela ne fonctionne pas dans les notebook : cela n'affiche rien du tout !
Code:
1 2 3 4 5 6 7 8 9
|
from time import sleep
def p(n):
for i in range(n):
print("="*i, flush=True, end='\r')
sleep(1)
print(end="\n")
p(10) |
Connaissez-vous un moyen pour réussir à faire cela dans un notebook ?
Merci :)