小甲鱼零基础学习python_19 【pickle -- 腌制一缸泡菜】

坚持写读书笔记真的是一件很需要耐心的事QAQ,比如这几天在乡下懒懒的度过,就完全不想动博客,但是已经欠下了pickle和异常处理两节笔记了,再拖就会滚雪球一样,写不完了..所以今天鼓起勇气咳咳,把笔记写完。

pickle - - an amazing module

pickle-泡菜 腌菜

几乎可以把所有python对象转化为 二进制字符流 的过程 — 存放picking

把二进制字符流转化为对象的过程 – 读取 unpicking

不管使用random还是os还是今天学的pickle或者其他的模块,我们都必须先导入相应的模块

import pickle  #导入相应的pickle模块

1. 存放picking过程:

我们尝试把一个列表存入文件中。
先定义一个列表:

#定义一个列表
my_list=[123,3.14,'yhr',['another','list']]

打开一个文件,以 写入 w 以及 二进制 b 的形式打开

pickle_file=open('D:\\my_list.pkl','wb') 
#w→写入  b→二进制 必须以二进制形式存储

#后缀名只是提醒作用,不会影响存储格式,随便乱写都行
#只不过为了提示方便,定义成pkl格式,仅仅表示这是通过pickle存储的

调用dump() → picking过程


pickle.dump(my_list,pickle_file)   
#把列表对象转化为二进制放入文件里  -- picking过程

pickle_file.close() #操作完记得关闭文件,从内存写入磁盘

2. 读取unpicking过程:

打开一个文件,以 读取 r 以及 二进制 b 的形式打开

pickle_file=open('D:\\my_list.pkl','rb')  #r→读取  b→二进制形式

调用load() → unpicking过程

my_list2=pickle.load(pickle_file)    #调用load 载入二进制文本转化为对象  -- unpicking
#列表对象赋值给my_list2

print(my_list2)
pickle_file.close()

这里写图片描述
可以看到,已经可以顺利从文件读入文本,转化为对象存入python对应变量里了。


利用pickle,我们可以大大的精简代码,并且便于对大量数据的修改和备份。

猜你喜欢

转载自blog.csdn.net/Aka_Happy/article/details/82053401
今日推荐