1

我试图在从 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 '。

对不起,如果这听起来有点愚蠢,这是我第一次编程。

4

1 回答 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')
于 2013-01-22T07:24:54.537 回答