我试图遍历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'。
抱歉,这听起来很傻,这是我第一次编程。
最佳答案
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')