Python if-else时间睡眠冻结另一个else函数
我有python脚本来检查时间是否匹配,然后运行特定的函数Python if-else时间睡眠冻结另一个else函数,python,if-statement,Python,If Statement,我有python脚本来检查时间是否匹配,然后运行特定的函数 while True: jam = 60*(60-datetime.datetime.now().minute) if jam == 3600: url = 'http://192.168.1.5/postdata.php' myobj = {'somekey': 'test'} x = requests.post(url, data = myobj) p
while True:
jam = 60*(60-datetime.datetime.now().minute)
if jam == 3600:
url = 'http://192.168.1.5/postdata.php'
myobj = {'somekey': 'test'}
x = requests.post(url, data = myobj)
print("Data Hourly Inserted")
time.sleep(3600)
else:
print("Show every 5 seconds")
time.sleep(5)
正如您看到的上述代码,有两个条件:打印(“每5秒显示一次”)
将每5秒运行一次打印(“每小时插入数据”)
将每小时运行一次如果jam==3600
,函数将正确运行,但文本“每隔5秒显示一次”将不再显示
知道如何解决吗?保存数据在变量中发布的时间。每当当前小时发生变化时,请再次发布
last_hour = None
while True:
if datetime.datetime.now().hour != last_hour
url = 'http://192.168.1.5/postdata.php'
myobj = {'somekey': 'test'}
x = requests.post(url, data = myobj)
print("Data Hourly Inserted")
last_hour = datetime.datetime.now().hour
print("Show every 5 seconds")
time.sleep(5)
在它每小时打印一次插入的
数据之后
会在重复循环之前休眠一小时。那么,你知道如何让它一直运行吗?简单地删除时间。休眠(3600)
?或者在if-else块之后放置time.sleep(5)
?顺便问一下,您的else
块是否仅用于调试?我认为您应该解释您需要做什么,而不是要求我们改进/调试您的解决方案。您是否尝试每小时执行一个操作,并每5秒并行执行另一个操作?jam
测试是否与if datetime.datetime.now().minute==0:
相同?