什麼是序列化, pickle, shelve(春節再整理), json, configparser(春節再整理)模組
一.序列化.
什麼是序列化:在我們儲存資料或網路傳輸資料的時候,需要對我們的物件進行處理,把物件處理成方便儲存和傳輸的資料格式,這個過程叫序列化,不同的序列化,結果也不同,但是目的是一樣的,都是為了儲存和傳輸.
在python 中有三種序列化方案:1.pickle 2.shelve 3.json
二.pickle模組.
pickle 模組把我們的python物件變成bytes寫入到檔案中,所以著東西不是給人看的,給機器看的.
pickle模組的方法有哪些:dumps(序列化一個物件,一堆bytes),
loads(反序列化一個物件,成原樣)
dump(把物件寫入到檔案,一堆亂碼的字元,具體原因可能是作業系統和py的原因,反正不是給人看的)
load(讀取檔案的內容,並且反序列化).
pickle寫入檔案時,如果元素太多,建議加如一個列表裡面,方便以後的讀取(檔案內容讀完了,繼續讀會報錯)
三.json模組.
什麼時json:
json是我們前後端互動的樞紐,相當於程式設計界的"普通話",json的語法格式可以完美的表示出一個物件,
下面這種格式,在python裡面叫字典,而在javascript裡面叫json,其優點是可以完美的表示出任何物件,並且可以完整的把物件表示出來,只要程式碼格式比較好
,那可讀性也是很強的.
我們如何把python裡的字典轉換成JS那邊的json(字串型別):
注意:在py裡,把字典裡的中文遠方不動轉化成json,而非bytes,需要加個引數:(ensure_ascii = False)
json.dumps(dic,indent=2,ensure_ascii=False)把字典轉化成json字串,並且顯示出中文,並且把資料"掰開"美化下
json.loads() 把json格式轉化成原型別.
json.dump()把資料json話,寫入檔案
json.load()把資料從檔案中讀取出來,還原成原型別.
列印效果: