Python提供一个标准的模块 ,称为pickle 。使用它可以在一个文件中储存任何Python对象,之后可以把它完整无缺地取出来 ,这被称为持久地储存对象 。还有另一个模块称为cPickle ,它的功能和pickle模块完全相同,只不过它是用C语言编写的,因此要快得多(比pickle快1000倍)。
[注意]
[1] 使用import...as 语法,便于我们可以使用更短的模块名称。
[2] 为了在文件里储存一个对象,首先以写模式打开一个file对象,然后调用储存器模块的dump函数,把对象储存到打开的文件中,这个过程称为“储存 ”。
[3] 使用pickle模块的load函数的返回来取回对象,这个过程称为“取储存 ”。
#! /usr/bin/python # Filename: pickle.py import cPickle as p # import pickle as p shoplistfile='shoplist.data' # the name of the file where we will store the object shoplist=['apple', 'mango', 'carrot'] # write to the file f=file(shoplistfile, 'w') p.dump(shoplist, f)# dump the object to a file f.close() del shoplist# remove the shoplist # read back from the storage f=file(shoplistfile) storedlist = p.load(f)# load file to a object print storedlist f.close() ######## # output ######## $ python pickle.py ['apple', 'mango', 'carrot']