“Python时间表”;时间是凝固的;
我正在使用调度执行与实时“Python时间表”;时间是凝固的;,python,python-3.x,datetime,schedule,Python,Python 3.x,Datetime,Schedule,我正在使用调度执行与实时datetime.datetime.now()一起工作的函数。 但是当调用函数datetime.datetime.now()时,我总是得到开始时间schedule脚本 例如: import schedule import time import datetime schedule.every(2).minutes.do(print, datetime.datetime.now().strftime("%d-%m-%Y %H:%M")) whil
datetime.datetime.now()一起工作的函数。
但是当调用函数datetime.datetime.now()
时,我总是得到开始时间schedule脚本
例如:
import schedule
import time
import datetime
schedule.every(2).minutes.do(print, datetime.datetime.now().strftime("%d-%m-%Y %H:%M"))
while 1:
schedule.run_pending()
time.sleep(1)
示例结果:
28-04-2021 19:59
28-04-2021 19:59
28-04-2021 19:59
28-04-2021 19:59
有人知道如何在执行调度程序时获得实时性吗
Python => 3.8
schedule => 1.1.0
这是因为的值现在已加载到内存中
试试这个
import schedule
import time
import datetime
schedule.every(2).minutes.do(print, datetime.datetime.now().strftime("%d-%m-%Y %H:%M"))
while 1:
schedule.run_pending()
time.sleep(1)
这是因为now()
的返回值保存在内存中。传递lambda或函数以确保它是动态计算的:
导入计划
导入时间
导入日期时间
计划。每(2)分钟。做一次(
lambda:print(datetime.datetime.now().strftime(“%d-%m-%Y%H:%m”))
)
而1:
schedule.run_pending()
时间。睡眠(1)
我也这么认为,并测试了此选项。行为是一样的。我仍然有很多东西要学习和理解。非常感谢。没问题!我时常犯类似的错误。