马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1.pickle模块
pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。
1)pickle.dump(obj,file,protocol=None,*,fix_imports=True)
参数说明:
obj:将要封装的对象
protocol:整型,协议版本号,支持版本号为0到HIGHEST_PROTOCOL,如果没有指定,默认为DEFAULT_PROTOCOL。如果指定为负数,则为HIGHEST_PROTOCOL.
file:obj将要写入的文件对象,file必须以二进制可写模式打开,即“wb”,该file参数必须有write()方法,该方法能够接受单字节的参数。
fix_imports:如果fix_imports为true,并且协议版本小于3,那么pickle将python3对应到python2。
2)pickle.load(file, *,fix_imports=True,encoding=“ASCII”,errors=“strict”)
从file中读取一个字符串,并将它重构为原来的python对象
file:必须以二进制可读模式打开,即“rb”,其余为可选参数,有read()和reading()接口等同于Unpickler(file).load()>>> import pickle #导入模块
>>> my_list = [123, 3.14, '小甲鱼',['another list']] #定义一个列表
>>> pickle_file = open('my_listpk1','wb') #定义一个可写入的二进制文件
>>> pickle.dump(my_list, pickle_file) #将复杂数据列表转换为二进制并写入文件内
>>> pickle_file.close() #关闭文档,数据才能从缓存区内保存到文件上
>>> pickle_file = open('my_listpk1','rb') #以只读二进制模式打开上述保存的二进制文件
>>> my_list2 = pickle.load(pickle_file) #将文件内部的二进制代码转换为相应数据类型并返回
>>> print(my_list2)
[123, 3.14, '小甲鱼', ['another list']]
|