Python3 shelve模块(持久化)
shelve模块 也可以序列化Python所有数据类型,而且可以多次序列化;shelve模块通过key-value方式持久化
1.序列化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import shelve """shelve 也可以序列化Python所有数据类型,而且可以多次序列化 shelve模块通过key-value方式持久化 """ import datetime f = shelve. open ( "shelve_text" ) #持久化生成的文件名 info = { "a" : "A" , "b" : "B" , "c" : "C" } list = [ "fsd" , "jkl" , "kls" , 45 , 9 ] date = datetime.datetime.now() + datetime.timedelta( 3 ) ''' 序列化 ''' f[ "info" ] = info f[ "list" ] = list f[ "date" ] = date f.close() |
输出结果:会生成几个文件
1
2
3
|
shelve_text.bak shelve_text.dat shelve_text. dir |
2.反序列化,通过get(key)来获取数据
1
2
3
4
5
6
|
''' 反序列化 ''' f = shelve. open ( "shelve_text" ) #持久化生成的文件名 print (f.get( "info" )) print (f.get( "list" )) print (f.get( "date" )) f.close() |
输出结果:
1
2
3
|
{ 'a' : 'A' , 'b' : 'B' , 'c' : 'C' } [ 'fsd' , 'jkl' , 'kls' , 45 , 9 ] 2018 - 07 - 19 22 : 42 : 18.149149 |