Python+Django+SAE系列教程5-----使用存储器cpickle

除了对文件的操作,这第十二章还介绍了储存器的概念,称之为pickle(泡菜?),使用它你可以在一个文件中储存任何Python对象,之后你又可以把它完整无缺地取出来。这被称为 持久地 储存对象。还有另一个模块称为cPickle,它的功能和pickle模块完全相同,只不过它是用C语言编写的,因此要快得多(比pickle快1000倍)。你可以使用它们中的任一个,而我们在这里将使用cPickle模块。记住,我们把这两个模块都简称为pickle模块。

#!/usr/bin/python
# Filename: pickling.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)
print storedlist

首先,请注意我们使用了import..as语法。这是一种便利方法,以便于我们可以使用更短的模块名称。在这个例子中,它还让我们能够通过简单地改变一行就切换到另一个模块(cPickle或者pickle)!在程序的其余部分的时候,我们简单地把这个模块称为p。


为了在文件里储存一个对象,首先以写模式打开一个file对象,然后调用储存器模块的dump函数,把对象储存到打开的文件中。这个过程称为 储存 。注意这里没有真正的生成文件,而是“模拟”。


接下来,我们使用pickle模块的load函数的返回来取回对象。这个过程称为 取储存 。

Python+Django+SAE系列教程5-----使用存储器cpickle,布布扣,bubuko.com

Python+Django+SAE系列教程5-----使用存储器cpickle

上一篇:Python+Django+SAE系列教程3-----Python中的面向对象编程


下一篇:Python+Django+SAE系列教程4-----操作文件