Python 3.x 从文本文件创建具有属性的对象

Python 3.x 从文本文件创建具有属性的对象,python-3.x,Python 3.x,我正在制作一个程序,从纺织品(名为30eapril.txt)中读取一些足球队的信息,并在创建一些球队对象时使用这些数据。我想知道如何让程序读取纺织中的团队数量并创建他们的对象。到目前为止,我编写的代码可以工作,但是有很多重复的部分 class team: def __init__(self, teamdata): self.name = teamdata[0] self.wins = teamdata[1] self.drawn = te

我正在制作一个程序,从纺织品(名为
30eapril.txt
)中读取一些足球队的信息,并在创建一些球队对象时使用这些数据。我想知道如何让程序读取纺织中的团队数量并创建他们的对象。到目前为止,我编写的代码可以工作,但是有很多重复的部分

class team: 
    def __init__(self, teamdata):
        self.name = teamdata[0]
        self.wins = teamdata[1]
        self.drawn = teamdata[2]
        self.losses = teamdata[3]
    def __repr__(self): 
        return self.name.ljust(15) + '{} {} {}'.format(self.wins, self.drawn, self.losses)

laglista = []
with open('30eapril.txt', 'rt') as file:
    for line in file:
        laglista.append(line)

team1data = (laglista[0]).split()
team2data = (laglista[1]).split()
team3data = (laglista[2]).split()
team4data = (laglista[3]).split()

lag1 = team(team1data) 
lag2 = team(team2data)
lag3 = team(team3data)
lag4 = team(team4data)

print(lag1) 
print(lag2)
print(lag3)
print(lag4)
这是文本文件中的内容

Arsenal        2 1 0 
Manchester     2 0 0 
Liverpool      0 1 2 
Newcastle      0 0 2 
希望有人能帮忙! //彼得(Peter)

缩短代码:(当然可以更好)

您不需要知道文件的行数

对于“30eapril.txt”的相同内容,输出为:

$ ./test_script3.py
Arsenal        2 1 0
Manchester     2 0 0
Liverpool      0 1 2
Newcastle      0 0 2
“30eapril.txt”上的同一脚本有一个额外的行:

$ ./test_script3.py
Arsenal        2 1 0
Manchester     2 0 0
Liverpool      0 1 2
Newcastle      0 0 2
AnotherClub    1 0 2
缩短代码:(当然可以更好)

您不需要知道文件的行数

对于“30eapril.txt”的相同内容,输出为:

$ ./test_script3.py
Arsenal        2 1 0
Manchester     2 0 0
Liverpool      0 1 2
Newcastle      0 0 2
“30eapril.txt”上的同一脚本有一个额外的行:

$ ./test_script3.py
Arsenal        2 1 0
Manchester     2 0 0
Liverpool      0 1 2
Newcastle      0 0 2
AnotherClub    1 0 2

你似乎知道列表;为什么不尝试使用它们呢?我确实尝试过用“teamdata”创建一个列表,但当我尝试将teamdata[0]作为创建团队对象的参数时,我得到的答案是“TypeError:“list”对象不可调用”无法对我看不到的代码进行真正的注释,但您确定没有使用
teamdata(0)
而不是
teamdata[0]
错了?你似乎知道列表;为什么不尝试使用它们呢?我确实尝试过用“teamdata”创建一个列表,但当我尝试将teamdata[0]作为创建团队对象的参数时,我得到的答案是“TypeError:“list”对象不可调用”无法对我看不到的代码进行真正的注释,但您确定没有使用
teamdata(0)
而不是
teamdata[0]
错了吗?