Python:pickle模塊學習
阿新 • • 發佈:2018-04-17
highest 進行 編碼 不同 protocal 不能被繼承 col style 字典 。
1. pickle模塊的作用
將字典、列表、字符串等對象進行持久化,存儲到磁盤上,方便以後使用
2. pickle對象串行化
pickle模塊將任意一個python對象轉換成一系統字節的這個操作過程叫做串行化對象
3. pickle和cpickle
Python標準庫提供pickle和cPickle模塊。cPickle是用C編碼的,在運行效率上比pickle要高,但是cPickle模塊中定義的類型不能被繼承(其實大多數時候,我們不需要從這些類型中繼承,推薦使用cPickle)。cPickle和pickle的序列化/反序列化規則是一樣的,使用pickle序列化一個對象,可以使用cPickle來反序列化
4. pickle中常用的函數
(1)pickle.dump(obj, file, [,protocol])
作用:將要持久化的數據“對象”,保存到“文件”中,使用有3種協議,索引0為ASCII,1為舊式二進制,2為新式二進制協議,不同之處在於2要更高效一些(默認使用0協議)
(2)pickle.load(file)
作用:從“文件”中讀取字符串,將他們反序列化轉換為python的數據對象
(3)pickle.dumps(obj[, protocol])
作用:將obj對象序列化為string形式,而不是存入文件中
- obj:想要序列化的obj對象
- protocal:如果該項省略,則默認為0。如果為負值或HIGHEST_PROTOCOL,則使用最高的協議版本
(4)pickle.loads(string)
作用:從string中讀出序列化前的obj對象
Python:pickle模塊學習