1. 程式人生 > >pickle 模組

pickle 模組

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))