当条件满足时,我怎么能只执行1次迭代?

时间:2013-01-01 01:01:12

标签: python time python-2.7 iteration

我正在使用while循环来产生无限循环。并且,在代码中,我有一个取决于时间的部分。这是代码:

while True:
    if currentminute == '53':
        # do this
    else:
        # do that

如果currentminute =='53'为真,怎么能让它只执行'do this'代码的一个循环?并且,执行'do that'代码,代表其余时间内所有其他代码的大部分,并在下一个小时返回“执行此操作”代码等。

1 个答案:

答案 0 :(得分:1)

from datetime import datetime
import time
while True:
    if datetime.datetime.now().minute == 53:
        # do this
        if datetime.datetime.now().minute == 53:  # if still 53 then sleep for rest of the seconds
            time.sleep(60-datetime.datetime.now().second)
    else:
        # do that

从您的问题来看,我认为 #do this部分应该每53分钟只执行一次 。此外,您需要确保#do that部分不会长时间执行,以便它可以在第53分钟重叠。