持久化任何python的資料格式,對pickle的一個封裝
import shelve
# 準備資料
class Test(object):
def __init__(self, n):
self.n = n
t1 = Test(123)
t2 =Test(456)
info = {"name": "Jimi", "age": 23}
names = ["Alex", "Tom", "Jack"]
# 寫入
d = shelve.open("shelve") # 打開一個檔案
d["names"] = names # 持久化清單
d["t1"] = t1 # 持久化類
d["t2"] = t2
d["info"] = info #持久化字典
d.close()
# 讀取
d = shelve.open("shelve") # 打開一個檔案
print(d.get("info"))
print(d.get("names"))
print(d.get("t1"))
d.close()
"""
{'age': 23, 'name': 'Jimi'}
['Alex', 'Tom', 'Jack']
<__main__.Test object at 0x00000000059577B8>
"""