Python 非滚动控制台输出

1 投票
1 回答
6133 浏览
提问于 2025-04-18 03:34

我想在屏幕上显示一些输出,然后再更新这些输出,而不是在它旁边或下面再输入新的内容。换句话说,就是想在控制台上直接修改已经显示的文字,就像一些控制台应用程序中的进度条那样。

我该如何在Python中实现这个功能呢?

1 个回答

1

你不能直接在控制台里做到这一点。最好的办法是在每次打印后清屏,方法如下:

import os,time

clear = lambda: os.system('cls')      # or os.system('clear') for Unix

for i in range(10,0,-1):
    clear()
    print i
    time.sleep(1)

这样你就能在控制台里看到一个倒计时,文字会在同一个地方显示。

另外,正如这里所示,你也可以这样做:

for i in range(10,0,-1):
    print '\r'+str(i),     #or print('\r'+str(i), end='') for python-3.x
    time.sleep(1)

撰写回答