如何删除python中的最后一行?

时间:2018-05-07 20:18:01

标签: python python-2.7 time countdown

我试图用python做倒计时程序。我想将其转换为删除最后打印的行,因此我可以打印新的第二行。

import time

def countdown():
    minute = 60
    while minute >= 0:
        m, s = divmod(minute, 60)
        time_left = str(m).zfill(2) + ':' + str(s).zfill(2)
        print(time_left)
        time.sleep(1) 
        minute -= 1

countdown()

我在Raspberry Pi上运行python 2.7.13。

2 个答案:

答案 0 :(得分:0)

您可以直接写入stdout,而不是使用print。 \r字符将转到该行的开头,而不是下一行。

 import time
 import sys

 def countdown():
     minute = 60
     while minute >= 0:
         m, s = divmod(minute, 60)
         time_left = str(m).zfill(2) + ':' + str(s).zfill(2)
         sys.stdout.write("%s\r" % time_left)
         sys.stdout.flush()
         time.sleep(1) 
         minute -= 1

答案 1 :(得分:0)

尝试以下(在python2中制作):

import time, sys

def countdown(totalTime):
    try:
        while totalTime >= 0:
            mins, secs = divmod(totalTime, 60)
            sys.stdout.write("\rWaiting for {:02d}:{:02d}  minutes...".format(mins, secs))
            sys.stdout.flush()
            time.sleep(1)
            totalTime -= 1
            if totalTime <= -1:
                print "\n"
                break
    except KeyboardInterrupt:
        exit("\n^C Detected!\nExiting...")

这样称呼它: 倒计时(时间) 例如:倒计时(600)10分钟。