21天學習python編程_pickle模塊序列化與反序列化

主要內容:

  • 小目標:pickle模塊序列化與反序列化
  • 主要內容:掌握pickle模塊

若是看完這篇文章,你仍是弄不明白pickle操做;
你來找我,我保證不打你,我給你發100的大紅包。json

1. pickle模塊

1.1 認識pickle:

pickle模塊實現了用於序列化和反序列化Python對象結構的二進制協議;
序列化:將Python對象轉成字節流;
反序列化:將字節流轉成Python對象;ide

1.2 pickle與Json:

主要區別:code

JSON是一種文本序列化格式,pickle是二進制序列化格式;
JSON具備必定可讀的,而pickle不能
JSON是能夠與其餘語言相互轉換,pickle值能用於Python對象

2 pickle模塊使用

主要方法:字符串

方法 說明
pickle.dumps(obj, protocol=None,...) Python對象序列化
pickle.loads(data, *, ...) 反序列化
pickle.dump(obj, file, ...) 將Python對象序列化並保存到文件
pickle.load(file, ...) 將序列化文件導入,並轉成Python對象
  • 序列化與反序列化:it

    import pickle
    names = ['公孫離','裴擒虎']
    #轉成Json字符串
    pdata = pickle.dumps(names)
    print(pdata)
    #將Json字符串轉Python對象
    data = pickle.loads(pdata)
    print(data)

    結果:table

    b'\x80\x00q....'
    ['公孫離', '裴擒虎']
  • pickle處理文件
    import pickle
    fpath = r'C:\Users\hyg\Desktop\data\1.pickle'
    names = ['公孫離','裴擒虎']
    #寫入操做,wb方式打開文件
    f = open(fpath, 'wb')
    #轉成Json,寫入到文件
    pickle.dump(names,f)
    f.close()
    #讀取操做,rb方式打開文件
    f = open(fpath, 'rb')
    #將Json字符串從文件讀取,並轉成Python對象
    pdata = pickle.load(f)
    print(pdata)
    f.close()

    結果:class

    ['公孫離', '裴擒虎']

以上就是pickle相關主要內容,pickle操做與json相似,你們能夠本身嘗試操做下。import

相關文章
相關標籤/搜索