iPython ノートブックには、シリアル ポートとprint
受信したデータをリアルタイムでリッスンする while ループがあります。
私が実現したいのは、最新の受信データのみを表示することです(つまり、最新のデータを表示する 1 行のみ。セル出力領域でスクロールしない)。
私が必要としているのは(私が思うに)、新しいデータを受け取ったときに古いセル出力をクリアし、新しいデータを印刷することです。プログラムで古いデータをクリアするにはどうすればいいのでしょうか?
ベストアンサー1
IPython.display.clear_output
セルの出力をクリアするために使用できます。
from IPython.display import clear_output
for i in range(10):
clear_output(wait=True)
print("Hello World!")
このループの最後には 1 つだけが表示されますHello World!
。
コード例がなければ、動作するコードを提供するのは簡単ではありません。おそらく、最新の n イベントをバッファリングするのが良い戦略でしょう。バッファが変更されるたびに、セルの出力をクリアして、バッファを再度印刷することができます。