我正在尝试构建一个警报应用程序,但是我正在努力使'时间表'模块发挥我希望的功能。问题是在通过数组调用day属性时,我似乎无法安排一日多个警报。
示例通常如何安排一天的多次时间:
schedule.every().sunday.at('17:25').do(job) schedule.every().sunday.at('17:30').do(job) schedule.every().sunday.at('17:35').do(job)
这很好,但是我真的想用for循环加载时间,所以我没有巨大的if语句,所以我可以动态加载时间:
dayArray = [ schedule.every().sunday, schedule.every().monday, schedule.every().tuesday, schedule.every().wednesday, schedule.every().thursday, schedule.every().friday, schedule.every().saturday ] for i in range(1, xlsxAlarmSheet.ncols): for j in range(1, 8): if(str(xlsxAlarmSheet.cell_value(j, i)) != '0'): dayArray[j - 1].at(str(xlsxAlarmSheet.cell_value(j, i))[:2] + ':' + str(xlsxAlarmSheet.cell_value(j, i))[2:]).do(job)
通过XLRD模块从数组中加载日期,从xlsx文件中加载时间。唯一的问题是,当我安排一天多次时,警报以某种方式相互覆盖。例如,如果我使用这种方法为星期日安排3次,则只有第三个计划时间触发。我认为一定是因为当我将日期加载到数组中时,它们不再以某种方式唯一,所以我尝试做一个二维数组:
dayArray = [[ schedule.every().sunday, schedule.every().monday, schedule.every().tuesday, schedule.every().wednesday, schedule.every().thursday, schedule.every().friday, schedule.every().saturday ]] * xlsxAlarmSheet.ncols - 1 for i in range(1, xlsxAlarmSheet.ncols): for j in range(1, 8): if(str(xlsxAlarmSheet.cell_value(j, i)) != '0'): dayArray[i - 1][j - 1].at(str(xlsxAlarmSheet.cell_value(j, i))[:2] + ':' + str(xlsxAlarmSheet.cell_value(j, i))[2:]).do(job)
运气不好……时代还在互相覆盖,有什么想法吗?
我正在尝试构建一个警报应用程序,但是我正在努力使'时间表'模块发挥我希望的功能。问题是我似乎无法为一天安排多个警报...
免责声明:0 Python经验,仅JavaScript ....但是...