Dans un notebook iPython, j'ai une boucle while qui écoute un port série et print
les données reçues en temps réel.
Ce que je veux réaliser pour n'afficher que les dernières données reçues (c'est-à-dire une seule ligne affichant les données les plus récentes. Pas de défilement dans la zone de sortie de la cellule)
Ce dont j'ai besoin (je pense), c'est d'effacer l'ancienne sortie de cellule lorsque je reçois de nouvelles données, puis d'imprimer les nouvelles données. Je me demande comment puis-je effacer les anciennes données par programme?
clear_output(wait=True)
rendra généralement le résultat plus agréable si vous avezclear_output
une boucle à l'intérieur.i
?i
n'a pas vraiment d'importance.Et si vous venez ici, comme moi, en cherchant à faire la même chose pour les tracés dans un cahier Julia dans Jupyter, en utilisant Plots, vous pouvez utiliser:
donc pour une sorte de tracé animé de plusieurs runs
Sans l'appel clear_output, tous les tracés apparaissent séparément.
la source
Vous pouvez utiliser IPython.display.clear_output pour effacer la sortie comme mentionné dans la réponse de cel. J'ajouterais que pour moi, la meilleure solution était d'utiliser cette combinaison de paramètres pour imprimer sans aucune «tremblement» du notebook:
la source