1
我试图做一个脚本,将运行每隔一个周末,我已经尝试使用datetime(我在互联网上找到的解决方案,同样),但它总是打印整个星期。返回True每隔一个周末,返回False任何其他日子
from datetime import date, timedelta
reference_monday = date(2016, 1, 8) # any monday of a "week one"
schedule = [[True, True, True, True, True, True, True],
[True, True, True, True, True, False, False]]
def check_date(d):
return schedule[abs(d - reference_monday).days/7 % 2][d.weekday()]
start = date(2012, 6, 4)
for w in range(6):
thisweek = start + timedelta(weeks=w)
print 'week of', thisweek, ':',
print ','.join(str(check_date(thisweek + timedelta(days=d))) for d in range(7))
返回
week of 2012-06-04 : True,True,True,True,True,True,True
week of 2012-06-11 : True,True,True,True,True,False,False
week of 2012-06-18 : True,True,True,True,True,True,True
week of 2012-06-25 : True,True,True,True,True,False,False
week of 2012-07-02 : True,True,True,True,True,True,True
week of 2012-07-09 : True,True,True,True,True,False,False
我想它返回true或false,这取决于当前的一天。
值得使用'cron','Task Scheduler'或类似的工具。已经为你安排了很多东西。 “ – AlG
”,但它总是打印整个星期。“嗯,这就是我期望的...... ..这周+时间(天= d)))在范围内(7)'做。函数本身每次都会返回一个布尔值,您每周只需调用它7次。 –