Python中的实时倒计时

Python中的实时倒计时,python,Python,正如标题所说,我想用python创建一个实时倒计时计时器 到目前为止,我已经试过了 import time def countdown(t): print('Countdown : {}s'.format(t)) time.sleep(t) 但这会让应用程序在“t”秒内休眠,但行中的秒不会自行更新 countdown(10) 期望输出: Duration : 10s 1秒后,应该是 Duration : 9s 是的,问题是前一行持续时间:10s我必须删除。有什么方法可以做

正如标题所说,我想用python创建一个实时倒计时计时器

到目前为止,我已经试过了

import time
def countdown(t):
    print('Countdown : {}s'.format(t))
    time.sleep(t)
但这会让应用程序在“t”秒内休眠,但行中的秒不会自行更新

countdown(10)
期望输出:

Duration : 10s
1秒后,应该是

Duration : 9s

是的,问题是前一行
持续时间:10s
我必须删除。有什么方法可以做到这一点吗?

我从这个帖子中得到了很多帮助:

只需这样做:

import time
import sys

def countdown(t):
    while t > 0:
        sys.stdout.write('\rDuration : {}s'.format(t))
        t -= 1
        sys.stdout.flush()
        time.sleep(1)

countdown(10)
导入
sys
并使用
sys.stdout.write
而不是打印并刷新()输出,然后再打印下一个输出


注意:在字符串前面使用回车符“\r”,而不是添加换行符。

当使用数字10或更高时,一旦计数器达到数字9及以下,尾随的零将保留。例如,
倒计时(11)
将如下所示:11-->10-->90-->80-->70-->等等。
import time
import sys

def countdown(t):
    while t > 0:
        sys.stdout.write('\rDuration : {}s'.format(t))
        t -= 1
        sys.stdout.flush()
        time.sleep(1)

countdown(10)