这是我创建的一个类
import pickle
class CarRecord:
def __init__(self):
self.VehicleID = ""
self.Registration = ""
self.DateOfRegistration = None
self.EngineSize = 0
self.PurchasePrice = 0.00
ThisCar = CarRecord()
Car = [ThisCar for i in range(5)]
Car[0].EngineSize = 2400
Car[1].EngineSize = 2300
Car[2].EngineSize = 2200
Car[3].EngineSize = 2100
Car[4].EngineSize = 2000
我想把这些记录写入二进制文件
^{pr2}$把记录加到名单的末尾
while True:
我在这里检查文件的结尾
Car.append(pickle.load(CarFile))
CarFile.close()
print(Car)
试试这段代码,你的代码的问题是你做了一段时间真的,这导致了EOF,你需要指定解取长度,或者按照编辑中指定的EOFError句柄。在
在编辑:-I找到了一个更好的答案,它不使用硬编码值。Reading from a file using pickle and for loop in python
我也会把答案贴在这里。基本上,它捕获eoferor和UnpicklingError,这样,当文件结束时,它就关闭了,您可以正常使用它
^{pr2}$相关问题 更多 >
编程相关推荐