Python 基礎之pickle與json
有沒有在搞pickle與json在進行數據儲存的時候老是報錯,這個有些讓人煩惱,在之前有一篇介紹過它們的基本用法以及在使用過長中避免一些坑,但是今天在把對象寫入的時候pickle 與json卻給我而給出了不同的結果。
我們先看一下我當時做的結果:
:
這是為啥?傳遞的參數是一致的為啥json和pickle會有如此大的差距呢?Student為啥就不是可序列化的對象呢?有些困惑,其實json中有許多的參數是可以設置的。之前的Student對象不可以序列化成json,是應為在默認的情況下,dumps方法不知道如何把Student實例變換成一個json的{}對象。
在可選參數default就是把任意一個對象可序列化為json的對象,這里就必須給Student專門寫一個轉化函數,再把函數傳遞進去就可以解決這個問題了,我們來看一下如何做:
看起來還是把這個問題初步解決掉了,哈哈!這個問題是解決了,下次再來個老師Teacher類,是不是還得這樣搞一下呀,這樣是不是就有點不合適了,那就得想個別的辦法,通常呢每一個calss 都有一個__dict__的方法,so ,這樣也是可以解決這個問題的,來做一下驗證:
解決的還可以,好了,媽媽再也不擔心我以后不會用pickle和json存儲對象數據了!??!學好python你需要一個良好的環境,一個優質的開發交流群,群里都是那種相互幫助的人才是可以的,我有建立一個python學習交流群,在群里我們相互幫助,相互關心,相互分享內容,這樣出問題幫助你的人就比較多,群號是301,還有056,最后是051,這樣就可以找到大神聚合的群,如果你只愿意別人幫助你,不愿意分享或者幫助別人,那就請不要加了,你把你會的告訴別人這是一種分享。