前提:
從檔案中讀取字串容易,但是讀取出數值比較不容易。如果使用read或者readlines方法都會返回乙個字串,可以使用int、float等方法從字串中強制轉換為整型或者浮點型數值。
若儲存的檔案像列表、字典、集合甚至類的例項這些更加複雜的資料型別時,就會有點難度。可以將這些資料型別轉換為字串再寫入到檔案中,但是反過來如果想從文字檔案中恢復資料物件,即把乙個字串恢復成列表、字典、集合、類的例項等,會很困難。此時python提供乙個標準的pickle模組,即將列表、字典等這類複雜的資料型別轉換為二進位制檔案。
picking:將python物件轉換為二進位制存放(存放)
unpicking:將二進位制轉換為物件的過程(讀取)
pickle模組(泡菜):將列表、字典這類複雜的資料型別轉換為二進位制檔案。
舉例:將乙個列表儲存起來再讀取出來
>>> my_list=[123,3.14,'小甲魚',[666]]#將列表儲存為檔案
>>> pickle_file=open('my_list.pkl','wb')#寫入檔案(建立),以二進位制的模式開啟
>>> pickle.dump(my_list,pickle_file)#使用模組的dump方法將列表寫入檔案中
>>> pickle_file.close()#關閉檔案
>>>
>>> pickle_file=open('my_list.pkl','rb')#以二進位制的形式開啟檔案
>>> my_list2=pickle.load(pickle_file)#使用模組的load方法,轉換為列表
>>> print(my_list2)
[123, 3.14, '小甲魚', [666]]
python pickle模組 json模組
python 在在程式執行過程中,所有的變數都是在記憶體中,記憶體中的變數可以通過命令操作隨意改變,一旦程式結束,變數所占用的記憶體會被系統全部收回,如果沒有把修改的變數儲存到磁碟上,下次執行時,變數又被初始化,我們把在記憶體中可儲存或傳輸的過程叫做序列化pickling,把變數內容從序列化的物件重...
python pickle模組的用法
pickle用於python特有的型別,和python的資料型別間進行轉換,提供四個功能 dumps,dump,loads,load.pickle 的用法 pickle.dumps 將資料通過特殊的形式轉換為只有python語言認識的字串 pickle.dump 將資料通過特殊的形式轉換只有pyth...
python Pickle 模組和 Json 模組
pickle pickle 提供了乙個簡單的持久化功能,可以將物件以檔案的形式存放在磁碟上。python 中幾乎所有的資料型別 列表,字典,集合,類等 都可以用 pickle 來序列化。序列化後的資料,可讀性比較差。pickle.dump obj,file protocol 序列化物件,並將資料流寫...