我试图遍历一系列日期并将结果存储在列表中。
我收到以下错误消息:
TypeError: 'datetime.timedelta' object is not callable
start = date.today() - timedelta(days=1)
dateList = []
end = 30
for i in range(0, end, 1):
dateList.append(start - timedelta(days=i))
答案 0 :(得分:1)
您需要导入“ datetime”模块,此代码才能正常工作。如果您输入:
from datetime import *
在代码的顶部,然后它将起作用。但是,这种导入在Python中被认为是不好的做法,因此,如果直接引用“ datetime”模块,效果会更好:
import datetime
start = datetime.date.today() - datetime.timedelta(days=1)
dateList = []
end = 30
for i in range(0, end, 1):
dateList.append(start - datetime.timedelta(days=i))
答案 1 :(得分:0)
Timedelta返回组成元组对象的部分(天,秒,微秒)。您必须提取元素以在开始变量分配中进行加/减运算
使用
分别访问它们var.days, var.seconds, var.microseconds
您也没有导入datetime模块以使代码正常工作。我推荐此代码。
import datetime
td = datetime.timedelta(days=1)
start = datetime.today() - td.days
....
td = datetime.timedelta(days=i)
dateList.append(start - td.days)