pickle 模組
阿新 • • 發佈:2018-11-11
pickle模組主要功能:
dump ———— 序列化
load ————— 反序列化
dumps
loads
ps: 不帶s的是幫你封裝write read 更方便
load 函式可以多次執行 每次load 都是往後再讀一個物件,如果沒有了就丟擲異常 Run out of input
pickle 模組例項:
import pickle # 使用者註冊後得到的資料 name = "高跟" password = "123" height = 1.5 hobby = ["吃","喝","賭","飄",{1,2,3}] # pickle支援python中所有的資料型別 user = {"name":name,"password":password,"height":height,"hobby":hobby,"test":3}
序列化的過程 with open("userdb.pkl","ab") as f: userbytes = pickle.dumps(user) f.write(userbytes)
反序列化過程 with open("userdb.pkl","rb") as f: userbytes = f.read() user = pickle.loads(userbytes) print(user) print(type(user))
dump 直接序列化到檔案 with open("userdb.pkl","ab") as f: pickle.dump(user,f)
load 從檔案反序列化 with open("userdb.pkl","rb") as f: user = pickle.load(f) print(user) print(pickle.load(f)) print(pickle.load(f)) print(pickle.load(f))