【问题标题】:time ticker in python in real timepython中的实时时间计时器
【发布时间】:2013-03-15 17:45:57
【问题描述】:

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

现在我做这个

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

while lst:

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

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

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

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

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

【问题讨论】:

    标签: python time clock ticker


    【解决方案1】:

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

    【讨论】:

    • “必须”有点强。有一些方法可以在没有线程的情况下做到这一点。
    【解决方案2】:

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

    >>> 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)
    

    【讨论】:

    • 它可以工作,但不是我想要的,虽然我试过了,但谢谢,>>> lst = [1,2] >>> while lst: ... print "hello\n" 。 .. countdown(6) ... lst.pop(0) 我得到你好睡 11 你好睡 12 但我想睡 6,(5,4 等等 1)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    • 2019-03-02
    • 1970-01-01
    • 2019-01-12
    • 1970-01-01
    • 1970-01-01
    • 2014-08-19
    相关资源
    最近更新 更多