WEB开发网
开发学院软件开发Python Python 持久性管理 阅读

Python 持久性管理

 2007-03-30 12:29:39 来源:WEB开发网   
核心提示: 清单 1 显示了一个交互式会话,这里使用了刚才所描述的 dumps() 和 loads() 函数:清单 1. dumps() 和 loads() 的演示Welcome To PyCrust 0.7.2 - The Flakiest Python ShellSponsored by Orbt

清单 1 显示了一个交互式会话,这里使用了刚才所描述的 dumps() 和 loads() 函数:

清单 1. dumps() 和 loads() 的演示

Welcome To PyCrust 0.7.2 - The Flakiest Python Shell
Sponsored by Orbtech - Your source for Python programming expertise.
Python 2.2.1 (#1, Aug 27 2002, 10:22:32)
[GCC 3.2 (Mandrake Linux 9.0 3.2-1mdk)] on linux-i386
Type "copyright", "credits" or "license" for more information.
>>> import cPickle as pickle
>>> t1 = ('this is a string', 42, [1, 2, 3], None)
>>> t1
('this is a string', 42, [1, 2, 3], None)
>>> p1 = pickle.dumps(t1)
>>> p1
"(S'this is a string'
I42
(lp1
I1
aI2
aI3
aNtp2
."
>>> print p1
(S'this is a string'
I42
(lp1
I1
aI2
aI3
aNtp2
.
>>> t2 = pickle.loads(p1)
>>> t2
('this is a string', 42, [1, 2, 3], None)
>>> p2 = pickle.dumps(t1, True)
>>> p2
'(Ux10this is a stringK*]qx01(Kx01Kx02Kx03eNtqx02.'
>>> t3 = pickle.loads(p2)
>>> t3
('this is a string', 42, [1, 2, 3], None)

注:该文本 pickle 格式很简单,这里就不解释了。事实上,在 pickle 模块中记录了所有使用的约定。我们还应该指出,在我们的示例中使用的都是简单对象,因此使用二进制 pickle 格式不会在节省空间上显示出太大的效率。然而,在实际使用复杂对象的系统中,您会看到,使用二进制格式可以在大小和速度方面带来显著的改进。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Python 持久性 管理

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接