Python 持久化管理之 Pickle/ZODB

2022-05-05 00:00:00 文件 对象 是一个 模块 类似于

1.对象持久化

如果希望透明地存储 Python 对象,而不丢失其身份和类型等信息,则需要某种形式的对象序列化:

它是一个将任意复杂的对象转成对象的文本或二进制表示的过程。同样,必须能够将对象经过序列化后的形式恢复到原有的对象。

在 Python 中,这种序列化过程称为 pickle,可以将对象 pickle 成字符串、磁盘上的文件或者任何类似于文件的对象,也可以将这些字符串、文件或任何类似于文件的对象 unpickle 成原来的对象。

 2. Pickle模块

pickle模块就是实现了这样功能的一个模块,代码如下:

In [3]: import cPickle as pickle

In [4]: a1=['apple','banana','orange']

In [5]: b1={'one':1,'two':2,'three':3}

In [6]: f=open('temp.pkl','wb')

In [7]: pickle.dump(a1,f)

In [8]: pickle.dump(b1,f)

In [9]: f.close()

In [10]: f2 = file('temp.pkl','rb')

In [11]: recover1 = pickle.load(f2)

In [12]: print recover1
['apple', 'banana', 'orange']

In [13]: recover2 = pickle.load(f2)

In [14]: print recover2
{'one': 1, 'three': 3, 'two': 2}

In [15]: f2.close()

相关文章