python - 在 Python 中,如何让线程休眠到特定时间?

标签 python

我知道我可以让线程休眠一段特定的时间:

time.sleep(NUM)

如何让线程休眠到凌晨 2 点?我必须做数学来确定直到凌晨 2 点的秒数吗?还是有一些库函数?

(是的,我知道 Windows 中的 cron 和等效系统,但我想在 python 中适本地休眠我的线程,而不是依赖外部刺激或进程信号。)

最佳答案

这是一个不考虑时钟抖动或时钟调整的半途而废的解决方案。请参阅评论以了解摆脱这种情况的方法。

import time
import datetime

# if for some reason this script is still running
# after a year, we'll stop after 365 days
for i in xrange(0,365):
    # sleep until 2AM
    t = datetime.datetime.today()
    future = datetime.datetime(t.year,t.month,t.day,2,0)
    if t.hour >= 2:
        future += datetime.timedelta(days=1)
    time.sleep((future-t).total_seconds())
    
    # do 2AM stuff

关于python - 在 Python 中,如何让线程休眠到特定时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2031111/

相关文章:

python - 将 (x, y) 坐标的元组对设置为 dict 作为带有 id 值的键

python - 从列表创建子列表

python - 将列表拆分为列

python - 使用 python 重新采样数据帧时出错

python - 如何将 pandas.DataFrame (一周)重新采样为平均日

python - 使用 Django 和 django-allauth 获取新用户的 Twitter 电子邮件地址

python - 与 pandas AND 的动态比较

python - 从字符串列表列表转换为 Python 中的整数列表列表

python - 使用 Bokeh Python 没有显示烛台

在字典列表中查找公共(public)键值对的pythonic方法