Python 遍历 dateutil 的 rrule
我正在尝试对从rrule返回的列表进行循环处理,但总是收到“对象没有属性‘getitem’”的错误提示。这是不是意味着我必须先对rrule的结果进行“解析”,才能用它们进行循环呢?
示例代码
for smoketest in rrule.rrule(rrule.HOURLY, dtstart=startD, until=endD):
print smoketest
dateID = smoketest[0:10]
hourID = smoketest[11:13]
具体的错误是TypeError: 'datetime.datetime'对象没有属性‘getitem’。
抱歉如果这听起来有点傻,这是我第一次接触编程。
1 个回答
3
smoketest
是一个 datetime.datetime
对象,而不是字符串。你在 print
中看到的只是它的字符串表现形式。其实,datetime.datetime
对象能提供更多功能。
你需要把 smoketest
转换成日期字符串和时间字符串吗?可以使用 strftime
方法:
for smoketest in rrule.rrule(rrule.HOURLY, dtstart=startD, until=endD):
dateID = smoketest.strftime('%Y-%m-%d')
hourID = smoketest.strftime('%H:%M:%S')