希望为计划python脚本提供一些帮助。我了解语法,但是由于添加了IF语句逻辑,因此我无法使脚本连续运行两天。第二天早上,它要么只运行日常工作,要么完全跳过它,仅运行15分钟的工作。我需要if逻辑,以便作业仅在工作日运行。有没有人提供修复或巧妙的解决方法,使其仅在工作日内运行?
感谢您的帮助。我在下面提供了代码的简化版本:
import schedule
import time
def daily_job(text):
print(text)
def fifteen_min_job():
print('15 minute job...')
if True: # For example only run on weekdays
schedule.every().day.at("09:32").do(daily_job, text='daily job...')
schedule.every(15).minutes.do(fifteen_min_job)
while True:
schedule.run_pending()
time.sleep(1)
答案 0 :(得分:2)
使用以下语句代替使用IF语句:
schedule.every(15).minutes.do(fifteen_min_job)
schedule.every().monday.at("09:32").do(daily_job, text='daily job...')
schedule.every().tuesday.at("09:32").do(daily_job, text='daily job...')
schedule.every().wednesday.at("09:32").do(daily_job, text='daily job...')
schedule.every().thursday.at("09:32").do(daily_job, text='daily job...')
schedule.every().friday.at("09:32").do(daily_job, text='daily job...')
从长远来看,此方法更稳定!
要在工作日同时执行15分钟的工作,只需执行以下操作:
def weekdayJob:
schedule.every(15).minutes.do(fifteen_min_job).tag("fifteen")
def clearJob:
schedule.clear("fifteen")
schedule.every().monday.at("00:00").do(weekdayJob)
schedule.every().saturday.at("00:00").do(clearJob)