当前位置: 首页 > 面试题库 >

Python脚本每天在同一时间做某事

管翼
2023-03-14
问题内容

我有一个运行很长时间的python脚本,我想每天早上01:00做一些事情。

我一直在查看sched模块和Timer对象,但看不到如何使用它们来实现此目的。


问题答案:

您可以这样做:

from datetime import datetime
from threading import Timer

x=datetime.today()
y=x.replace(day=x.day+1, hour=1, minute=0, second=0, microsecond=0)
delta_t=y-x

secs=delta_t.seconds+1

def hello_world():
    print "hello world"
    #...

t = Timer(secs, hello_world)
t.start()

这将在第二天凌晨1点执行一个函数(例如hello_world)。

编辑:

正如@PaulMag所建议的,更一般而言,为了检测是否必须由于该月末到达而必须重置该月的某天,在此上下文中y的定义应为:

y = x.replace(day=x.day, hour=1, minute=0, second=0, microsecond=0) + timedelta(days=1)

使用此修复程序,还需要将timedelta添加到导入中。其他代码行保持相同。因此,还使用total_seconds()函数的完整解决方案是:

from datetime import datetime, timedelta
from threading import Timer

x=datetime.today()
y = x.replace(day=x.day, hour=1, minute=0, second=0, microsecond=0) + timedelta(days=1)
delta_t=y-x

secs=delta_t.total_seconds()

def hello_world():
    print "hello world"
    #...

t = Timer(secs, hello_world)
t.start()


 类似资料:
  • 我有一个长期运行的python脚本,我想在每天早上1:00做一些事情。 我一直在研究sched模块和Timer对象,但我不知道如何使用它们来实现这一点。

  • 问题内容: 如何运行多个python脚本?此刻我像这样跑一个。 我已经尝试过了,但是不起作用:仅运行第一个脚本。另外,我尝试使用这样的单个文件; 但是,这也不起作用。 问题答案: 使用Bash: 这就是整个脚本。它将同时运行两个Python脚本。 Python本身可以做同样的事情,但要花更多的时间输入,对于眼前的问题来说是一个不好的选择。 我认为尽管您采取错误的方法来解决问题很可能,但我想听听您的

  • 在我问之前,Cron作业和任务调度程序将是我的最后选择,这个脚本将在Windows和Linux中使用,我更喜欢有一个编码的方法来完成这个任务,而不是把它留给最终用户来完成。 有没有Python的库可以用来安排任务?我需要每小时运行一次函数,但是,随着时间的推移,如果我每小时运行一次脚本并使用. chat,“每小时一次”将在不同的时间运行由于执行/运行脚本和/或函数固有的延迟,一小时与前一天不同。

  • 这是我的报警器 公共类OneShotAlarm扩展BroadcastReceiver toast.Maketext(context,r.string.one_shot_received,toast.length_long).show();MediaPlayer mp=MediaPlayer.create(context,r.raw.azan2);mp.start();

  • 问题内容: 我想编写一个简单的python脚本来完成特定的工作。我花了一些时间从网站链接信息。 在正确的时间单击这些链接的最佳方法是什么?我是否需要计算当前电流与列表中的电流之间的时间间隔并睡眠一会儿? 我真的停留在这一点上,并欢迎任何可能有用的想法。 问题答案: 看一下Python的sched模块。

  • 我正在试图找出如何设置cron在美国东部时间每天下午5点运行,这是正确的吗? 提前感谢!!