序列化数据 Pickling Data
- 前几节的文件处理,都是读写字串信息;
- 但是在一些情况中,你需要操作其它的数据类型,比如说: 列表,元组,字典或是其它对象.
- 在Python 通过序列化方法来处理,标准化库中已经包含了这个 "pickle" 模块.
让我们先序列化一个混合了字串和数字的列表:
解序列,也非常容易:
当然可以存储复杂的数据:
1 import pickle 2 3 fileHandle = open ( 'pickleFile.txt', 'w' ) 4 5 testList = [ 123 6 , { 'Calories' : 190 } 7 , 'Mr. Anderson' 8 , [ 1, 2, 7 ] 9 ] 10 11 pickle.dump ( testList, fileHandle ) 12 13 fileHandle.close() 14 15 import pickle 16 17 fileHandle = open ( 'pickleFile.txt' ) 18 19 testList = pickle.load ( fileHandle ) 20 21 fileHandle.close()
如你所见,通过"pickle"模块可以非常简单序列化对象为文件存储,你也可以使用 "cPickle" 模块(如果你安装的话),一看名字就知道这是使用 C 实现的相同功能的模块, 因为它要更快:
-- ZoomQuiet [2005-02-06 15:27:27]