python – 循环通过日期,除了周末
发布时间:2021-01-11 20:23:23 所属栏目:Python 来源:互联网
导读:所以我有一个脚本,具有日期参数不同的功能,我希望它循环01-01-2012到06-09-2012不包括周末.我试图找出一种方法,我可以使用时间增量,因为我的脚本输出文件与文件名称中使用的日期,例如: items = (functions.getItems(item,date) print items test = sum(abs(l
所以我有一个脚本,具有日期参数不同的功能,我希望它循环01-01-2012到06-09-2012不包括周末.我试图找出一种方法,我可以使用时间增量,因为我的脚本输出文件与文件名称中使用的日期,例如: items = (functions.getItems(item,date) print items test = sum(abs(l[-1]) for l in items) total = open('total' +str(datetime.today- datetime.timedelta(1)),'a') 我想要timedelta(1)循环遍历每个日期,以便输出文件的格式为total2012-01-01的第一天,循环,直到创建文件total2012-06-09. Item的date参数也是MM-DD-YYYY的格式 我以为我可以这样做: sd = 01-01-2012 ed = 06-09-2012 delta = datetime.timedelta(days=1) diff = 0 while sd != ed # do functions # (have output files (datetime.today - datetime.delta(diff)) diff +=1 sd+=delta 所以本质上我只是想弄清楚如何循环使功能从01-01-2012开始,结束于06-10-2012,不包括周末.我无法弄清楚如何排除周末,以及如何让它按正确的顺序循环 谢谢 解决方法使用datetime.weekday() 方法.它返回值在零到六之间,与平日相关.星期六值为5,星期日值为6;因此,如果您在出现这些值时跳过操作,则可以跳过周末:
start = datetime(2012,1,1) end = datetime(2012,10,6) delta = timedelta(days=1) d = start diff = 0 weekend = set([5,6]) while d <= end: if d.weekday() not in weekend: diff += 1 d += delta (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- TypeError:’function’对象不可订阅 – Python
- python – 方法中的单个字符串或字符串列表
- django – 必须使用对象pk或slug调用通用详细信息视图
- python – Flask:后台线程看到一个非空队列为空
- python – Django:如何在佛罗里达州的设置中设置EDT时区
- Django 1.10中有哪些django.core.context_processors.reque
- 为什么python库不作为pyc提供?
- python – 如何以有效的方式找到两个轮廓集之间的所有交点
- 举例详解Python中的split()函数的使用方法
- python – 使用pandas返回hdf文件中所有数据集的列表
推荐文章
站长推荐
热点阅读