Python终端文本输出格式

问题描述 投票:1回答:2

我有一个python程序,以这种方式向我的终端输出一些numpy矩阵和一些其他信息:Terminal output

当前,按照以下顺序查看数据:

  1. 打印数据
  2. 清除屏幕
  3. 重新打印(并重复)

但是,这确实效率很低。我想做的是看到数字随着程序的运行而变化,但是没有屏幕清除的开销。有没有一种方法可以使用本机python格式化输出,从而不必进行此昂贵的操作?我的想法是,我可以使用类似htop(或类似格式的终端程序,例如cmus)的东西。

python numpy terminal formatting output
2个回答
0
投票

为什么清除屏幕会产生这样的费用?终端很可能具有固定大小的缓冲区,随着较旧的行“向上滚动”,该缓冲区将被覆盖。重写输出可能要花费几毫秒(或更长时间,具体取决于它的大小)。如果输出确实很大,请考虑采用其他方法,例如对您的矩阵进行切片,仅输出更改后的结果,或使用图表检查数据(提示:矩阵可以显示为图像)。如果您确实需要在终端上显示“固定”显示,则可以使用curses模块,但是输出不能那么大,否则无论如何它都不适合终端窗口。如果需要实现滚动,请考虑移至图形用户界面。


0
投票

您可以使用watch shell命令

© www.soinside.com 2019 - 2024. All rights reserved.