day 22 模組2 序列化
一 . 序列化
儲存資料時,對物件進行處理,方便我們儲存和傳輸資料格式,這個過程叫序列化。不同的序列化,結果不同,目的就是為了儲存和傳輸的。 序列化方案包括pickle,shelve , json 三種。
二 . pickle(重點)
通過dumps序列化物件轉化成一串二進位制程式碼(看不懂的,只有電腦才能明白)
通過loads將一串二進位制程式碼轉回成序列化物件
通過dump把物件寫入到檔案中
通過load把檔案中的物件轉回
三 . shelve
shelve是提供python的持久化操作,把資料寫道硬盤裡,很像字典
shelve處理複雜字典資料的時候有坑,檔名後加入writeback = True
shelve.open("檔名",writeback = True) # writeback可以動態的把我們修改的資訊寫入到檔案中,並且可以刪資料,跟字 典 一樣。
四 . json(很重要): 前後端處理都會用json來傳輸資料
import json
dic = { "a" : "功夫胖 ","b":"派克特","c":"熱狗"}
s = json.dumps(dic,ensure_ascii = False) # 把字典轉化成json字串
print(s)
那怎麼來把字串轉化成字典:
import json
s = ‘ { "a" : "功夫胖 ","b":"派克特","c":"熱狗"}’
dic = json.lodals(s)
print(type(dic),dic)
json也可以跟pickle一樣把序列化的結果寫入檔案
用dump把物件打散寫入檔案中,但不能
用load把檔案中內容的轉回字典的形式
五 . configparser模組
適用於配置檔案的格式與windows ini 檔案類似,可以包含一個或多個位元組