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