场景:
即日起截止到2019年国庆节前,每周工作日的8点-20点,去指定目录查看一个文件当日是否存在,如果存在就拿来使用然后删除文件,如果不存在则每隔15分钟循环执行这个判断,直到文件出现在目录下,如果超过20点文件依然没有出现则不再执行循环。简易流程图如下所示。这里就模拟去桌面查找test.xlsx是否存在。
处理过程:
代码如下所示,因为是个定时任务,这里就不展示结果了。不知道怎么在APScheduler设置任务的结束时间,所以把结束时间加到if语句里面进行判断。
from apscheduler.schedulers.blocking import BlockingScheduler
import schedule
import os
from datetime import datetime
import time
def find_job():
# 实际工作中这里需要替换成需要执行的.py文件
print('execute ****.py %s' % datetime.now())
def remove_file():
# 移除目录下的文件
os.remove(dirpath + '\\' + file)
# 验证文件是否已经从目录下移除
if file in os.listdir(dirpath):
print('remove file fail...')
else:
print('remove file success!')
def not_find_job():
print('continue find ... %s' % datetime.now())
# 把not_find_job函数加入到调度中,设置时间为每隔15分钟执行一次
schedule.ever