首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将任务延迟到某一时间

问将任务延迟到某一时间
EN

Stack Overflow用户
提问于 2011-07-05 15:17:20
回答 8查看 36K关注 0票数 17

我想在python脚本中做的是休眠几秒钟,直到达到所需的时间。即:如果runAt设置为15:20,当前时间为10:20,如何计算出睡眠时间为多少秒?我不确定如何将15:20转换为时间和当前日期,然后扣除实际时间以获得秒数。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-07-05 15:42:40

我想你也可以使用下面的代码:

代码语言:javascript
复制
from datetime import datetime, time
from time import sleep

def act(x):
    return x+10

def wait_start(runTime, action):
    startTime = time(*(map(int, runTime.split(':'))))
    while startTime > datetime.today().time(): # you can add here any additional variable to break loop if necessary
        sleep(1)# you can change 1 sec interval to any other
    return action

wait_start('15:20', lambda: act(100))
票数 18
EN

Stack Overflow用户

发布于 2011-07-05 15:25:20

如果从另一个datetime对象中减去一个秒数,则会得到一个timedelta对象,该对象具有秒属性,因此您可以这样做:

代码语言:javascript
复制
t1 = datetime.datetime.now()

# other stuff here
t2 = datetime.datetime.now()
delta = t2 - t1
if delta.seconds > WAIT:
    # do stuff
else:
    # sleep for a bit

另外,对于应该在特定时间运行的任务,您可能希望使用cron。

票数 13
EN

Stack Overflow用户

发布于 2015-02-09 08:32:02

您可以改为使用pause包[ https://pypi.python.org/pypi/pause/0.1.2 ]。以他们的文档为例-

代码语言:javascript
复制
import pause, datetime
dt = datetime.datetime(2013, 6, 2, 14, 36, 34, 383752)
pause.until(dt)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6579127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档