Python 在每天定义的时间运行一段代码

Posted

技术标签:

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

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

请问我该怎么做?

【问题讨论】:

您希望您的 python 脚本 24/7 全天候运行并在特定时间执行特定任务?为什么不使用专门的脚本并在 Windows 上使用 crontab(假设您使用的是 linux)或 Taskschd.msc 这取决于您的操作系统。您可能希望使用 ossys 包来调用您的操作系统提供的调度工具。 如果您在 Windows 机器上运行,请查看此答案***.com/questions/132971/… 以获得 linux crontab 的替代方案 这能回答你的问题吗? Python script to do something at the same time every day 【参考方案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

【讨论】:

以上是关于Python 在每天定义的时间运行一段代码的主要内容,如果未能解决你的问题,请参考以下文章

读一篇博客,写一段代码,每天写写Python自然就会了,每日Python第1天

如何安排python代码每天运行?

如何运行一段python代码半小时? [复制]

如何用python代码判断一段范围内股票最高点

如何用python代码判断一段范围内股票最高点

Python虚拟助手在一段代码后不继续运行,而1: