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次。 –