面向物件中self可以代替整個物件的屬性直接用來dump為改變後的物件
阿新 • • 發佈:2018-11-28
def __init__(self,name): self.name = name self.courses = [] self.flag = False with open('students','rb') as f1,open('students.bak','wb') as f2: while True: try: stu = pickle.load(f1) # 讀出students檔案中的一個學生物件if stu.name == self.name: # 判斷這個學生物件是不是當前登陸學生 pickle.dump(self,f2) # 如果是,把現在選課之後的資訊寫入檔案 self代表安全更新過後的物件裡面的屬性全部都囊括 else: # 不是 pickle.dump(stu,f2) # 將原本學生的資訊原封不動的寫入新的檔案 exceptEOFError: break