Em um notebook iPython, tenho um loop while que escuta uma porta serial e print
os dados recebidos em tempo real.
O que eu quero alcançar para mostrar apenas os dados recebidos mais recentes (ou seja, apenas uma linha mostrando os dados mais recentes. Sem rolagem na área de saída da célula)
O que eu preciso (eu acho) é limpar a saída da célula antiga quando receber novos dados e depois imprimi-los. Gostaria de saber como posso limpar dados antigos programaticamente?
clear_output(wait=True)
geralmente tornará o resultado melhor se você tiverclear_output
dentro de um loop.i
?i
realmente não importa.E, caso você venha aqui, como eu, procurando fazer o mesmo para plotagens em um caderno de Julia em Jupyter, usando Plots, você pode usar:
assim, para um tipo de enredo animado de várias execuções
Sem a chamada clear_output, todos os gráficos são exibidos separadamente.
fonte
Você pode usar o IPython.display.clear_output para limpar a saída conforme mencionado na resposta do cel. Eu acrescentaria que, para mim, a melhor solução foi usar essa combinação de parâmetros para imprimir sem qualquer "tremor" do notebook:
fonte