【发布时间】:2018-09-16 16:52:26
【问题描述】:
我正在努力在课堂上做得更好。我想将多辆汽车(具有车牌号和时间等属性(用于安全摄像头))添加到列表中。我确实可以正常工作,但现在突然不行了,我不知道发生了什么。
class CarID:
def __init__(self, camera, cartime, plate):
self.camera = camera
self.plate = plate
self.cartime = cartime
class Cars:
def __init__(self):
self.cars = []
def addCar(self, car):
self.cars.append(car)
主程序:
def make_lists_cars(data):
car_list = Cars()
with open(data, newline='') as f:
f = f.readlines()
for line in f[2:-2]:
car = line.split("\t")
camera = car[0]
cartime = car[1]
plate = car[2]
car_list.addCar(CarID(camera, cartime, plate))
return car_list
data = 'verkeer.txt'
car_list = make_lists_cars(data)
print(Cars().cars)
这给了我一个空列表。汽车变量看起来都像 ['1', '09:01:53', '2-ABC-32\n']。我实际上想要一个带有属性的汽车列表。 几个小时前我让它工作了,但后来我想添加第二个列表,现在它停止工作:(。 我还必须返回 car_list,还是没有必要?
谢谢
【问题讨论】:
-
我怀疑文件解析。
-
@StephenRauch,总的来说你是对的,但我很确定这是
print(Cars().cars)中的新实例 -
我建议在你的类中添加一个
__str__()方法。这将允许您执行print(car_list)之类的操作。