Python终端文本输出格式

时间:2016-04-22 16:38:37

标签: python numpy terminal formatting output

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

目前,为了查看数据,我遵循以下顺序:

  1. 打印数据
  2. 清除屏幕
  3. 重新打印(并重复)
  4. 然而,这实在是效率低下。我希望能够做的是看到数字在程序运行时发生变化,但没有屏幕清除的开销。有没有办法我可以使用原生python格式化我的输出,这样我就不用这个昂贵的操作了?我的想法是,我可以使用类似htop(或类似格式化的终端程序,如cmus)的东西。

    谢谢!

2 个答案:

答案 0 :(得分:0)

为什么清除屏幕是一笔费用?终端最有可能是一个固定大小的缓冲区,当旧线“向上滚动”时会被覆盖。重写输出可能需要几毫秒(或更多,取决于它有多大)。 如果输出非常大,请考虑采用不同的方法,例如:切割矩阵并仅输出更改的内容或使用绘图检查数据(提示:矩阵可以显示为图像)。 如果你真的需要在终端上使用“固定”显示器,那么curses模块是可行的方式,但是你的输出不能那么大,否则无论如何它都不适合终端窗口。如果您需要实现滚动,请考虑转移到图形用户界面。

答案 1 :(得分:0)

您可以使用watch shell命令

如果它是python脚本或者可以在一个独特的python脚本中进行转换

观看-n 1'python xxx.py'

1是刷新时间

-d突出显示更新之间的更改