pickle模塊 collections模塊在面向對象中的應用
阿新 • • 發佈:2019-03-28
open def 登錄註冊 如果 price elf 處理 pickle模塊 linu
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))
pickle模塊 collections模塊在面向對象中的應用