最近需要用python做日常处理,需要每天定时执行指定系统命令。
作为一个小白,只能找百度帮忙。
度娘是非常热情的,调度问题给了很多方式,比如time、shedule。然后就是各种装插件,但运行各种失败。调用jar包程序,给了各种方案,全部调试不通过。折腾一天后,换成调用shell程序,终于在调试了3个程序后就通过了。
突然觉得还是有点价值的,为了大家少点弯路,就直接贴出来,以供参考:
import os
import time
import schedule
import threading
def job():
os.system("ls -al")
#每隔十分钟执行一次任务
schedule.every(5).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
这个程序功能,就是模拟每隔5秒执行一次“ls -al”。
同时schedule还支持如下调度格式:
```python
#每隔十分钟执行一次任务
schedule.every(10).minutes.do(job, name)
#每隔一小时执行一次任务
schedule.every().hour.do(job, name)
#每天的10:30执行一次任务
schedule.every().day.at("10:30").do(job, name)
#每隔5到10天执行一次任务
schedule.every(5).to(10).days.do(job, name)
#每周一的这个时候执行一次任务
schedule.every().monday.do(job, name)
#每周三13:15执行一次任务
schedule.every().wednesday.at("13:15").do(job, name)
这些内容也都是来自网上各个大侠的代码,经过一些整理调试。
还有两个小坑:
1,python程序名字不要起做: shedule.py,以免无法调用shedule插件库。
2,使用pip install之后如果找不到,可将插件目录,添加到设置参数PYTHONPATH