python定时执行某个函数
时间: 2024-08-12 09:10:44 浏览: 50
在Python中,你可以使用`schedule`库或内置的`threading`和`time`模块来实现定时执行某个函数。这里我将介绍两种常见方法:
**1. 使用`schedule`库**:
```python
from schedule import scheduler
import time
def job_function():
# 这里替换为你要执行的函数
print("Function is running...")
# 定义一个每5秒执行一次的定时任务
scheduler.every(5).seconds.do(job_function)
while True:
# 用scheduler.run_pending()检查是否有任务需要执行,如果没有则休眠1秒
scheduler.run_pending()
time.sleep(1)
```
**2. 使用`threading`和`time.sleep()`**:
```python
import threading
import time
def job_function():
# 这里替换为你要执行的函数
print("Function is running...")
def run_job(every sec):
while True:
job_function()
time.sleep(sec)
# 创建一个线程并设置每5秒执行一次
timer_thread = threading.Thread(target=run_job, args=(5,))
timer_thread.start()
```
**相关问题--:**
1. `schedule`库是什么,为什么在定时任务中推荐使用?
2. 在第二种方法中,`threading.Thread`是如何实现定时执行的?
3. 如何在这些方法中优雅地停止定时任务?
阅读全文