我使用python 3并尝试创建一个不断运行的脚本,并在某个时候执行特定的代码。 我到目前为止的代码,验证当前分钟,如果它超过给定的分钟,它会打印一条消息,否则,它打印当前分钟并等待5秒再试一次。 问题是它只打印代码开始的那一分钟。
JDK Serialization
答案 0 :(得分:1)
一些编程指针:
1)要进行常量循环,请使用以下结构:
while (True):
if (...):
....
break
2)存储在"现在"变量是静态的必须用循环中的新时间更新:
while (True):
now = datetime.now()
所以:
while True:
now = datetime.now()
if now.minute > 39:
print "Hour, Minute:", now.hour, now.minute
print "All done!"
break
else:
print ""Minute, second:", now.minute, now.second
time.sleep(5)
3)现实生活" (TM)计算你想要等到你的事件并且长时间睡觉的时间。
now = time.now()
if now.minute >= 39:
minutesToEvent = 0
else:
minutesToEvent = 39 - now.minute
print "Sleep seconds to next event:", minutesToEvent * 60
sleep(minutesToEvent * 60)
答案 1 :(得分:0)
你必须插入分配
now = datetime.now()
hour = now.hour
minute = now.minute
在while循环中,或者它们不会被刷新
答案 2 :(得分:0)
您需要在循环的每个步骤中刷新now
变量的值。此外,我删除了不必要的变量L
并将其替换为while True
以使代码更好。
import time
from datetime import datetime
while True:
now = datetime.now()
if now.minute > 39:
print ("It's past "+str(hour)+":"+str(minute))
# Run your desired code here.
else:
print(str(minute))
time.sleep(5)