0

我想在 python 中实时获取时间记录器。这里的想法是我一次又一次地执行一组函数,但我想在再次执行之前给出 10 分钟的时间间隔。例如:

现在我这样做

lst = [1,2,3,4,5]

while lst:

    do something
    lst.pop(0)
    time.sleep(600)

这将等待 10 分钟,然后再次循环。

我想实时打印,剩下的几秒钟可以再次开始循环。即我想打印

等待 600 秒
等待 500 秒,依此类推。

最好的办法是只更改每秒不打印“等待”的数字。

4

2 回答 2

0

您可以使用这样的函数来打印倒计时:

>>> def countdown(seconds):
...     while seconds:
...         sys.stdout.write("\rsleeping for {0}".format(seconds))
...         seconds -= 1
...         time.sleep(1)

(该\r字符是没有换行符的回车 - 每次执行输出文本的行时,它都会覆盖之前的内容。)因此您的代码看起来更像:

while lst:

    # do something
    lst.pop(0)
    countdown(600)
于 2013-03-15T17:55:53.217 回答
0

首先,我认为你必须在一个单独的线程中做一个代码,然后在另一个线程中输入“做某事”。要更新刻度,您可以使用 Clock.tick。

于 2013-03-15T17:53:11.257 回答