使用 Python 中的变量增加 'schedule' 模块日属性

Increment 'schedule' modules day attribute with variable in Python

我是 Python 的新手,如果我在标题中的术语或此问题的 body 不正确,请原谅我。

这就是您通常使用日程安排来触发某些事情的方式:

schedule.every().sunday.at('8:00').do(job)

我尝试使用 for 循环分别从数组和 excel sheet 中增加日期和时间,而不是在计划模块中列出唯一的日期和时间,例如:

dayArray = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday']

for i in range(0, 6):            
    if(str(xlsxSheet.cell_value(i,1)) != 'NA'):
        schedule.every().dayArray[i].at(str(xlsxSheet.cell_value(i+18,1))).do(job)

但是我刚得到错误AttributeError: 'Job' object has no attribute 'dayArray',是否可以用变量替换这个属性名称?我在网上找到的大多数答案都是关于返回属性值的,一直找不到任何答案。

表达式中的第三个元素必须是时间指示符或单位。危险的方法是构建你想要的命令字符串(见这个tutorial link, example 7),然后使用literal_eval来执行命令。

另一种可能性是将您想要的元素放入列表中,而不是它们的显示名称:

day_scheduler_list = [
    schedule.every().sunday,
    schedule.every().monday,
    ...
]
...
day_scheduler_list[i].at(str(xlsxSheet.cell_value(i+18,1))).do(job)