常常遇到在Python程序運行中獲得了一些字符串、列表、字典、對象等數據,想要長久的保存下來,方便之後使用,而不是簡單的放入內存中關機斷電就丟失數據。spa
這個時候Pickle模塊就派上用場了,它能夠將對象轉換爲一種能夠傳輸或存儲的格式。code
使用Pickle給對象歸檔:對象
import pickle class Student(object): def __init__(self): self.name = '' self.age = '' if __name__ == '__main__': stu = Student() stu.name = 'zhouxi' stu.age = 18 pklPath = 'a.pkl' with open(pklPath, 'w') as f: pickleString = pickle.dump(stu, f)
運行會生成一個a.pkl文件, stu實例就歸檔在這個文件中了blog
使用Pickle進行解檔內存
import pickle class Student(object): def __init__(self): self.name = '' self.age = '' if __name__ == '__main__': stu = Student() pklPath = 'a.pkl' with open(pklPath, 'r') as f: stu = pickle.load(f) print stu.name print stu.age
運行結果以下:字符串
zhouxi 18
cPickle包的功能和用法與pickle包幾乎徹底相同 (其存在差異的地方實際上不多用到),不一樣在於cPickle是基於c語言編寫的,速度是pickle包的1000倍。對於上面的例子,若是想使用cPickle包,咱們均可以將import語句改成:it
import cPickle as pickle
上面代碼就不須要作改動了class