python 定时循环执行命令,时间判断如何写?

import time
time.localtime(time.time())
y=time.strftime("%Y",time.localtime(time.time()))
m=time.strftime("%m",time.localtime(time.time()))
d=time.strftime("%d",time.localtime(time.time()))
h=time.strftime("%H",time.localtime(time.time()))
M=time.strftime("%M",time.localtime(time.time()))
while y!=2012 or m!=12 or d!=26 or h!=9 or M!=56:
while这段为什么不行?

第1个回答  2012-12-26
#1.py
from threading import Timer
from datetime import datetime
def hello():
print "Hello from ", datetime.now()
t=Timer(10,hello)
print datetime.now()
t.start()

# output
>python 1.py
2012-12-26 14:33:43.157000
Hello from 2012-12-26 14:33:53.158000
第2个回答  2012-12-26
str和int比较当然不行喽
t = time.strftime('%Y-%m-%d %H:%M', time.localtime(time.time()))

转成这样再比较吧追问

多给说几句呗..

追答

写个死循环
from time import sleep
while 1:
if t == '2012-12-21 15:30':
print '世界末日'
break
sleep(0.1)
当时间到这个点发生世界末日,否则就sleep一下,避免占用cpu

本回答被提问者采纳
相似回答