Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“Python时间表”;时间是凝固的;_Python_Python 3.x_Datetime_Schedule - Fatal编程技术网

“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)

我也这么认为,并测试了此选项。行为是一样的。我仍然有很多东西要学习和理解。非常感谢。没问题!我时常犯类似的错误。