Python提供一个标准的模块,称为 pickle 。使用它你可以在一个文件中储存任何Python对象,之后你
又可以把它完整无缺地取出来。这被称为 持久地 储存对象。
还有另一个模块称为 cPickle ,它的功能和 pickle 模块完全相同,只不过它是用C语言编写的,因此要
快得多(比 pickle 快1000倍)。你可以使用它们中的任一个,而我们在这里将使用 cPickle 模块。记
住,我们把这两个模块都简称为 pickle 模块。
存储器
1 import cPickle as p #取一个代名词p 来简化cPickle 2 shoplistfile = 'shoplist.data' 3 4 shoplist = ['apple','mango','carrot']#创建一个列表数据shoplist 5 6 f = file (shoplistfile,'w') #以W模式打开shoplistfile 模式打开文件 注意:若该文件存在则首先清空,再加入内容。 7 p.dump(shoplist,f) #通过dump函数将shoplist内容写入到f中 8 f.close() #关闭f文档 9 10 11 del shoplist #删除shoplist文件 12 13 f = file(shoplistfile) #以r模式打开shoplistfile 14 storedlist = p.load(f) #通过load函数读取f中的文件内容 存储到storedlist 15 print storedlist #打印出来
首先,请注意我们使用了 import..as 语法。这是一种便利方法,以便于我们可以使用更短的模块名称。
在这个例子中,它还让我们能够通过简单地改变一行就切换到另一个模块( cPickle 或者 pickle )!在
程序的其余部分的时候,我们简单地把这个模块称为 p 。
为了在文件里储存一个对象,首先以写模式打开一个 file 对象,然后调用储存器模块的 dump 函数,把对
象储存到打开的文件中。这个过程称为 储存 。
接下来,我们使用 pickle 模块的 load 函数的返回来取回对象。这个过程称为 取储存 。