目录:
一、pickle模块
二、课时31课后习题及答案
******************
一、pickle模块
******************
Python提供了一个标准模块,使用这个模块,就可以轻松地将列表、字典这类复杂类型存储为文件了。这个模块就是pickle模块。
它几乎可以把所有Python对象都转化为二进制的形式存放,这个过程称为pickling,那么从二进制形式转化回对象称为unpickling。

import pickle my_list = [123,3.14,'小甲鱼',['another list']] pickle_file = open('D:my_list.pkl','wb') pickle.dump(my_list,pickle_file) pickle_file.close()

分析以下:这里希望把这个列表永久保存起来(保存为文件),打开的文件一定要以二进制的形式打开,后缀名倒是可以随意,不过既然使用pickle保存,为了以后方便记忆,建议使用.pkl或.pickle。使用dump方法来保存数据,完成后记得保存,跟操作普通文本文件一样。
程序执行后,C盘会出现一个my_list.pkl的文件,用记事本打开之后显示乱码(因为它保存的是二进制形式),如图所示:

那么在使用的时候只需要用二进制模式先把文件打开,然后用load把数据加载进来:
import pickle pickle_file = open('D:my_list.pkl','rb') my_list =pickle.load(pickle_file) print(my_list)
程序执行后又取回我们的列表了:
[123, 3.14, '小甲鱼', ['another list']] >>>
利用pickle模块,不仅可以保存列表,事实上pickle可以保存任何你能想象得到的东西。
*******************************
二、课时31课后习题及答案
*******************************



