Python非滚动控制台输出

时间:2014-04-21 09:54:13

标签: python

我希望在屏幕上显示输出,然后更新该输出而不在其旁边或下面输入。换句话说,通过更改控制台上的现有文本,例如某些控制台应用程序上的进度%条。

我怎么能在python中做到这一点?

1 个答案:

答案 0 :(得分: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)

这将使您在控制台中倒计时,文本写在同一个地方。

或者,如图here所示,您可以这样做:

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