Python 提供了一个叫做pickle 的标准模块,使用该模块你可以将任意对象存储在文件中,之后你又可以将其完整地取出来。这被称为持久地存储对象。
# -*- coding: utf-8 -*-
"""
Spyder Editor
Author:Linguiyuan
pickle 模块解析
"""
import pickle
def main():
#待写入的文件名
shoplistfile = "shoplist.data"
#带写入的列表
shoplist = ['apple','banana','watermelon']
#开始写入
f_w = open(shoplistfile,"wb")
pickle.dump(shoplist,f_w)
f_w.close()
#删掉当前的shoplist对象
del shoplist
#从文件读回这个对象
f_r = open(shoplistfile,"rb")
file_list = pickle.load(f_r)
f_r.close()
print(file_list)
if __name__ == '__main__':
main()
解析:
为了在文件里储存一个对象,首先以写,二进制模式打开一个file 对象,然后调用pickle 模块的dump 函数,这个过程称为pickling 。接下来,我们用pickle 模块的返回对象的load 函数重新取回对象。这个过程称之为unpickling 。