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
|