pickle模組
可以把物件例項化的結果通過檔案操作存入檔案再讀取出來
讀取出的結果是字典
可以直接呼叫
在登入註冊等程式時可以簡化、方便操作
import pickle class Course: def __init__(self,name,price,period): self.name = name self.price = price self.period = period python = Course('python',20000,'6 months') linux = Course('linux',15800,'5 months') import pickle with open('pickle_file','ab') as f: pickle.dump(python,f) pickle.dump(linux,f) import pickle with open('pickle_file','rb') as f: obj1 = pickle.load(f) obj2 = pickle.load(f) while True: try: obj = pickle.load(f) print(obj.__dict__) except EOFError: break
如果不知道已經存入檔案的大小 可以在讀取的時候採用迴圈讀取 異常處理 避免報錯
collections模組中的namedtuple
可以把創造出的命名元組轉為一個類
此時的類裡的屬性不可更改,沒有方法,就是一種元類
from collections import namedtuple Course = namedtuple('Course',['name','price','period']) python = Course('python',20000,'6 month') print(python.name) print(python.price) print(python.period) print(type(python))