ChuannBlog

4.8 序列化模块(serialization)

将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化。

json

用于字符串 和 python数据类型间进行转换,编程界通用的转换,只能转化字典和列表

pickle

用于python特有的类型 和 python的数据类型间进行转换, 不仅可以序列化字典,列表, 还可以把python中任意的数据类型序列化

shelve

python新出的序列化工具,比pickle用起来更简单一些。
只提供给我们一个open方法,是用key来访问的,使用起来和字典类似。

import shelve
d = shelve.open(filename) # open, with (g)dbm filename -- no suffix

d[key] = data   # store data at key (overwrites old data if
           	 	# using an existing key)
data = d[key]   # retrieve a COPY of the data at key (raise
            	# KeyError if no such key) -- NOTE that this
            	# access returns a *copy* of the entry!
del d[key]      # delete data stored at key (raises KeyError
            	# if no such key)
flag = key in d # true if the key exists
list = d.keys() # a list of all existing keys (slow!)

d.close()       # close it