使用 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)
我是 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)