Python 终端文本输出格式

Python Terminal Text Output Formatting

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

目前,要查看数据,我按照以下顺序:

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

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

为什么清屏这么花钱?终端很可能有一个固定大小的缓冲区,它被旧行覆盖 "scroll up"。重写输出可能需要几毫秒(或更多,取决于它有多大)。 如果输出真的很大,请考虑采用不同的方法,例如对你的矩阵进行切片并只输出改变的内容或使用绘图来检查你的数据(提示:矩阵可以显示为图像)。 如果你真的需要在终端上显示 "fixed",那么 curses 模块是可行的方法,但是你的输出不能那么大,否则它不适合终端 window .如果您需要实现滚动,请考虑转向图形用户界面。

你可以使用watch shell 命令

如果它是 python 脚本或可以转换为独特的 python 脚本

手表-n 1 'python xxx.py'

1是刷新时间

-d 突出显示更新之间的变化