2012-04-08 60 views
0

更改导入的来自进口 我遇到这个错误后:date.timestamp没有在python中找到?

from datetime import datetime, date, timedelta 
today = date.today() 
from time import mktime 
from feedparser import feedparser 
import settings 

def check_calendar(): 
    d = feedparser.parse(settings.personal_calendar_feed) 
    for entry in d.entries: 
     if(date.fromtimestamp(mktime(entry.date_parsed))==today): 

Traceback (most recent call last): 
    File computer.py", line 734, in <module> 
    check_calendar() 
    File "computer.py", line 210, in check_calendar 
    if(date.fromtimestamp(mktime(entry.date_parsed))==today): 
AttributeError: 'function' object has no attribute 'fromtimestamp' 
+0

什么是这个模块'日期'? – Abhijit 2012-04-08 20:18:46

+0

@Abhijit:'日期'不是一个模块。这是'datetime'模块中的一个类 – jdi 2012-04-08 20:29:42

+0

@jdi:我误读了第一行,错过了'from datetime' – Abhijit 2012-04-08 20:32:19

回答

3

它说

AttributeError: 'function' object has no attribute 'fromtimestamp'

错误

。显然,你的代码中可能有一个名为“date”的函数。由于Python允许您使用任何名称,并且新的冲突名称将覆盖较旧的名称。

相反,当Python不能找到一个模块或对象的函数,它通常说类型的对象有没有属性或模块没有属性,就像如果我想打电话给“fromtimes”:

type object 'datetime.date' has no attribute 'fromtimes'

您可能需要再次仔细检查您的代码。

+0

你绝对是对的!现在我要重命名这个函数。顺便说一句,这个例外是不是很具描述性... ... – eadmaster 2012-04-08 23:25:19

3

这极有可能是你已经重新声明date作为功能def date():前面的代码。否则它是没有意义的。