Py学习  »  Python

用python中的变量递增'schedule'modules day属性

Nimble • 5 年前 • 1533 次点击  

我对python很陌生,所以请原谅我在这个问题的标题或正文中使用的术语不正确。

所以这就是你通常使用日程表来触发的方式:

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

我不想在Schedule模块中列出唯一的日期和时间,而是尝试使用for循环来分别从数组和Excel工作表中增加日期和时间,例如:

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' ,是否可以用变量替换此属性名?我在网上找到的大多数答案都是关于返回一个属性的值,没有找到任何东西。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47280
 
1533 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Prune
Reply   •   1 楼
Prune    5 年前

表达式中的第三个元素必须是时间指示器或单位。危险的方法是生成所需的命令字符串(请参见 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)