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
?
这取决于您的操作系统。您可能希望使用 os
和 sys
包来调用您的操作系统提供的调度工具。
如果您在 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 在每天定义的时间运行一段代码的主要内容,如果未能解决你的问题,请参考以下文章