对于某些在同一行(回车)上打印输出的应用程序,例如wget
或任何具有进度条覆盖前一个进度的应用程序,当我调整终端窗口的大小或更改屏幕上的位置时,输出开始每秒在新行上打印一次并连续向下滚动,直到该过程完成 100% 或进度条达到 100%。
例如:
Epoch 0 [Train | | 1/20000 batches, 1.86 co
Epoch 0 [Train | | 2/20000 batches, 4.65 co
Epoch 0 [Train | | 3/20000 batches, 3.10 co
Epoch 0 [Train | | 4/20000 batches, 5.32 co
我想要的是像这样的覆盖输入:
Epoch 0 [Train | | 4/20000 batches, 5.32 co
如果我不调整大小,输出将覆盖当前行,并且不会向下滚动。我希望能够调整终端大小,同时保持此类输出在同一行上(如预期的那样)。
直接在终端上运行时不会出现此问题wget
,但我记得通过 C 程序或 Python 程序调用它时,重新滚动会触发此问题,并且输出将不断打印在新行上。
例如,当我想将一些以前的输出保留在屏幕上以用于演示目的时,这就会有问题。我尝试调整终端的大小并将其定位前运行我的 Python 脚本,问题仍然存在。
有没有什么办法可以防止这种情况发生?