AttributeError:“DateTemplates”对象没有属性“_to_date”

Posted

技术标签:

【中文标题】AttributeError:“DateTemplates”对象没有属性“_to_date”【英文标题】:AttributeError: 'DateTemplates' object has no attribute '_to_date' 【发布时间】:2013-02-16 13:20:05 【问题描述】:

here 发布的代码,我尝试编译该程序,但每次编译都会给我这个回溯:

回溯(最近一次通话最后): _run_module_as_main 中的文件“/usr/lib/python2.7/runpy.py”,第 162 行 "__main__", fname, 加载器, pkg_name) _run_code 中的文件“/usr/lib/python2.7/runpy.py”,第 72 行 run_globals 中的执行代码 文件“/home/ceradon/cerabot-rewrite/cerabot/tasks/date_templates.py”,第 187 行,在 机器人 = 日期模板() 文件“/home/ceradon/cerabot-rewrite/cerabot/tasks/date_templates.py”,第 19 行,在 __init__ 超级(日期模板,自我).__init__() __init__ 中的文件“cerabot/bot.py”,第 51 行 self.setup() 文件“/home/ceradon/cerabot-rewrite/cerabot/tasks/date_templates.py”,第 110 行,在设置中 self._load_templates() _load_templates 中的文件“/home/ceradon/cerabot-rewrite/cerabot/tasks/date_templates.py”,第 61 行 self._to_date.append(template.get(1).value.lower())

我迷路了,谁能帮忙解决这个问题?

【问题讨论】:

错误发生在“Bot”类的构造函数中,因此您也应该提供该代码.. Here 是“Bot”类的代码。 两个类都没有_to_date 方法,所以你期待...什么? self._to_date 是一个列表对象。在 DateTemplates.__init__() 的前几行中。 你说得对,这非常令人困惑,因为在表示错误发生的__init__ 中甚至都没有调用start_load_templates。很奇怪。您不会碰巧将start 方法重命名为setup,是吗? 【参考方案1】:

当您调用super(DateTemplates, self).__init__() 时,它运行Bot.__init__,它调用self.setup(),它运行DateTemplates.setup(),但是这发生在您初始化self._to_date 之前,因此还没有要附加的列表。将 DateTemplates.__init__ 中的 super 调用移动到方法的末尾,这应该可以工作。

【讨论】:

以上是关于AttributeError:“DateTemplates”对象没有属性“_to_date”的主要内容,如果未能解决你的问题,请参考以下文章

AttributeError:“字节”对象没有属性“告诉”

AttributeError: 'RDD' 对象没有属性 'show'

AttributeError:“NumpyArrayIterator”对象没有属性“类”

AttributeError:模块 'dbus' 没有属性 'lowlevel'

AttributeError:模块'keras'没有属性'initializers'

AttributeError:“会话”对象没有属性“会话”