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' object has no attribute ' getitem ' です。

ばかげて聞こえるかもしれませんが、プログラミングは初めてです。

4

1 に答える 1

3

smoketest文字列ではdatetime.datetimeなくオブジェクトです。に表示されるのprintは、その文字列表現です。datetime.datetimeオブジェクトはさらに多くを提供します。

smoketestas date 文字列と as time 文字列が必要ですか? 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 に答える