用python写一个定时任务
时间: 2024-09-13 18:13:19 浏览: 19
在Python中创建一个定时任务可以使用内置的`schedule`库或者标准库中的`time`和`threading`模块。下面我将分别介绍这两种方法:
**使用 schedule 库:**
首先,你需要安装 `schedule` 库,可以使用pip命令安装:
```bash
pip install schedule
```
然后,你可以像这样创建一个简单的定时任务:
```python
import schedule
import time
def job():
print("I'm working...")
# 每隔10秒执行一次 job 函数
schedule.every(10).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
```
**使用 time 和 threading 模块:**
你也可以使用Python的内置库`time`和`threading`来实现定时任务。这种方法不需要安装额外的库。
```python
import time
import threading
def job():
print("I'm working...")
def run_job_periodically(interval):
while True:
job()
time.sleep(interval) # 等待一段时间
# 设置定时任务每5秒运行一次
interval = 5
thread = threading.Thread(target=run_job_periodically, args=(interval,))
thread.daemon = True # 设置守护线程,这样主线程退出时它也会退出
thread.start()
# 主线程继续执行其他任务或者等待退出
```
在使用守护线程时请注意,如果你的主线程结束,守护线程也会立即结束,这可能会导致在守护线程中的任务没有完成就终止了。