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
相關文章
相關標籤/搜索