標籤:

【Python】求解:pickle存儲和 print儲存 區別 ?

目前認識的是,pickle可以序列化、反序列化存儲,print存儲是直接存儲到文件,實現的結果不都是一樣么?

求教各位大神:

①他們的區別?

②推薦使用哪個,有什麼好處?

小弟先謝過~~


1. pickle 反序列化得到的是對象,print 讀文件拿回來的是字元串,還需要自己解析;

2. print 的結果是不可控的,比如你 print 一個對象到結果是無法從文件解析回來的;

3. 如果要用於存儲數據,建議用語言無關的序列化方法,強調可讀性可以用 json,強調壓縮率可以用 msgpack。pickle 文檔中專門說了,不保證未來的兼容性,不建議用來做長期的數據存儲。


儲存到文件,什麼時候也不應該用print吧。


Pickle可以存Python支持的數據結構啊,比如dict,list,turple ,怎麼dump進去就怎麼load出來,至少我覺得挺好用。你說的print 我就當做是Python 內置的讀寫文件好了,那個你寫進去需是字元串,讀出來還是字元串。


推薦閱讀:

黃哥Python,2017-9-22出題了。
如何用Python智能批量壓縮圖片?
如何看待 Instagram 將所有 Web 後端遷移到 Python 3.6 ?
xpath 使用教程

TAG:Python |