马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 1137381680 于 2017-9-4 10:48 编辑
《零基础入门学习Python》
——学习笔记
031永久存储:腌制一缸美味的泡菜
一. 定义分析
1.pickle模块:pickle模块的作用是可以将一个对象永久化存储。换个说法就是别的write,赋值这些操作只不过是一次性的塑料袋,用过后就会被python的“垃圾站”慢慢清理掉,而pickle模块就像是一个布袋子,只要你没有将他丢弃,那么他就是一直存在的。这个模块往往可以用来存储重要的且需要经常调用的函数等代码。编出来的程序会很精简。
2.pickle.dump(想存储的文件,另存为的文件):pickle.dump这个函数我把它理解为上传,就是把需要存储的内容上传到电脑的硬盘里,形成一个文件,这个文件可以是文本形式,也可以是二进制模式。#举例子
>>> import pickle #引入模块
>>> test_list = [1,2.3,'四',['五'],('六')]
>>> pickle_file = open('memory.pkl','wb') #memory.pkl是我自己创建的另存文件名,wb就是write,binary的缩写,意思是以写的形式打开文件,二进制写入。举一反三,r就是read的缩写,意思是以读的形式打开文件。
>>> pickle.dump(test_list,pickle_file) #将test_list中的内容上传到memory.pkl中。这里不明白为什么是memory.pkl而不是pickle_file的朋友请自己仔细想一下。
>>> pickle_file.close() #及时释放资源避免卡死
3.pickle.load(下载文件):相对应的,我喜欢把pickle.load这个函数称为下载函数,也就是括号中的文件是你想从硬盘中拿出来的,这个函数用法相对简单些,只要把想拿出来用的文件名写出来就可以。#举例子
>>> pickle_file = open('memory.pkl','rb') #注意这里的rb
>>> memory2 = pickle.load(pickle_file)
>>> print(memory2)
[1, 2.3, '四', ['五'], '六']
二. 杂谈
1.大家在使用pickle模块的时候要注意,pickle模块既然称为模块,那么在使用之前是需要引用的,否则会出错哦。
2.当我用Sublime Text软件打开我的memory.pkl时发现显示的是八进制的数字,我感到有些困惑,如果有朋友知道怎么回事的话,请多指教下小弟。我认为是软件的事,如果我弄清楚了,我会讲一下的。
三. 部分作业分析
无
四. 知识掌握程度
心得:学到了一个能够可以永久存储且方便调用的方法。
难点: 能够清楚辨别函数中每个部分的用法。尤其是pickle.dump的用法。
重点: 一定要记住多保存和多close这两个好习惯。
|