计划时间在Python中通过数组调用时被计划模块覆盖

问题描述 投票:0回答:1

我正在尝试构建一个警报应用程序,但是我正在努力使'时间表'模块发挥我希望的功能。问题是在通过数组调用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)

运气不好……时代还在互相覆盖,有什么想法吗?

我正在尝试构建一个警报应用程序,但是我正在努力使'时间表'模块发挥我希望的功能。问题是我似乎无法为一天安排多个警报...

python arrays schedule
1个回答
0
投票

免责声明:0 Python经验,仅JavaScript ....但是...

© www.soinside.com 2019 - 2024. All rights reserved.