常常遇到在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