天天看點

Python程式設計:shelve子產品-持久化python資料

持久化任何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>
"""