【Python】求解:pickle存儲和 print儲存 區別 ?
02-04
目前認識的是,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 |