【问题标题】:Python to run a piece of code at a defined time every dayPython 在每天定义的时间运行一段代码
【发布时间】:2017-09-25 23:35:50
【问题描述】:

在我的 python 程序中,我希望它在每个工作日的预定义时间运行一段代码,比如说周一至周五下午 2 点。

请问我该怎么做?

【问题讨论】:

  • 您希望您的 python 脚本 24/7 全天候运行并在特定时间执行特定任务?为什么不使用专门的脚本并在 Windows 上使用 crontab(假设您使用的是 linux)或 Taskschd.msc?
  • 这取决于您的操作系统。您可能希望使用 os 和 sys 包来调用您的操作系统提供的调度工具。
  • 如果您在 Windows 机器上运行,请查看此答案stackoverflow.com/questions/132971/… 以获得 linux crontab 的替代方案

标签: python scheduled-tasks


【解决方案1】:

您可以使用“计划”库

要安装,在终端输入:

pip install schedule

这是您想要的代码示例:

#!/usr/bin/python

import schedule
import time

def job():
    print("I am doing this job!")


schedule.every().monday.at("14:00").do(job)
schedule.every().tuesday.at("14:00").do(job)
schedule.every().wednesday.at("14:00").do(job)
schedule.every().thursday.at("14:00").do(job)
schedule.every().friday.at("14:00").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

或者你可以阅读文档查看其他功能Click Here

祝你好运!

【讨论】:

  • @Victor 不客气,请将其标记为正确答案(因为我已经有项目使用它 LOL)
  • 它的行为会像 cron 一样吗?我该如何部署它?
  • 可以用更多的 Cron 风格来实现吗?不让 while true 和脚本处于活动状态
  • 在电脑开机的情况下是这个解决方案
【解决方案2】:

您可以使用 crontab linux 实用程序, Crontab (CRON TABle) 是一个文件,其中包含要在指定时间运行的 cron 条目的时间表。

对于您的问题,请转到 python 文件的目录并在终端中输入

crontab -e

然后在 crontab 文件中你可以这样输入,每天下午 2.30 执行

30 14 * * *         python3 your_python_file.py

【讨论】:

    猜你喜欢
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 2021-05-28
    相关资源
    最近更新 更多