我试图解析一个包含级联数据结构的yaml文件。像
- Building
Address
Zip
Room
-- Employee1
-- Employee2
等等
我试图把它存储在类对象的列表中。 我将问题简化为以下代码:
qstuff.py
worker.py
from qstuff import astuff
from qstuff import bstuff
my_stuff = [astuff]
more_stuff = [bstuff]
more_stuff.append(bstuff)
more_stuff.append(bstuff)
my_stuff[0].a_st.append(bstuff)
这给了我以下错误:
$ python worker.py
Traceback (most recent call last):
File "worker.py", line 11, in <module>
my_stuff[0].a_st.append(bstuff)
AttributeError: class astuff has no attribute 'a_st'
关于这个问题,我已经搜索了很长时间,但是对于为什么这个方法不起作用,或者我需要如何在列表中存储级联数据,都找不到一个可以理解的答案。
您没有创建任何实例,只创建了对类的引用。在
您需要调用类来创建该类的实例:
以及
^{pr2}$您的
astuff
类没有a_st
属性;该属性只为astuff.__init__
方法中的实例设置(在创建新实例时自动调用)。在我不会直接在类上这样做(所以不要在类主体中添加
a_st = [bstuff]
),除非您真的想创建一个不需要为其创建实例的可变单例类的层次结构。在相关问题 更多 >
编程相关推荐