Python 2.7 While循环时间

时间:2011-12-29 10:53:47

标签: python

while True:
    now = datetime.datetime.now()
    if now.second == 1:
        print "One"

我的节目打印一次约7次。如何只打印一次?

2 个答案:

答案 0 :(得分:2)

您的电脑太快了。

它需要当前时间,测试当前秒是否为1然后再次。而且由于速度非常快,它可以在不到一秒的时间内完成,你可以得到更多的输出线。

每次迭代后等待:

while True:
    now = datetime.datetime.now()
    if now.second == 1:
        print "One"
        time.sleep(59) # wait 59 seconds after success
    time.sleep(1) # wait 1 second after each fail

这个程序大部分时间都会睡觉。如果你想让它做任何有用的事情,它将是一个不同的程序。

答案 1 :(得分:0)

如何存储以前用于打印的值?

previous = None
while True:
    now = datetime.datetime.now()
    if now.second == 1 and now.second != previous:
        print "One"
        previous = now.second # store the last value