我有一个文件,每行都有一个对象的属性。我想用空格分隔属性,并将它们添加到我的对象中。我想要一个列表中的对象,但我不能让它工作。我在这行旁边写了一条评论,它没有做我认为它应该做的事情。或者,如果我只传递单词列表,它会将整个列表存储在对象的第一个属性中。
class Brick(object):
def __init__(self, xopos=None, yopos=None, xcpos=None, ycpos=None, numb=None, prop=None):
self.xopos = xopos
self.yopos = yopos
self.xcpos = xcpos
self.ycpos = ycpos
self.numb = numb
self.prop = prop
bricklist = []
with open('data.txt', 'r') as f:
data = f.readlines()
for line in data:
words = line.split()
bricklist.append(Brick.xopos(words[0])) #line that doesnt work
for i in range(len(bricklist)):
print (bricklist[i].xopos)
数据很简单
^{pr2}$我对python非常陌生,而且我发现我的很多实现方法都不起作用,所以如果有任何帮助,我将不胜感激。
我建议引入一个函数,它接受一个字符串(在本例中是一行文本)并从中创建一个
Brick
对象:试试这个:
将每个属性从一个构造函数中分离出来,而不是将每个属性分别传递给每个对象。在
通过在使用
values
之前验证values
的内容,可以改进__init__
方法。在相关问题 更多 >
编程相关推荐