一、什麼是Pythonshelve
Python shelve 模塊是一個簡單但有用的 key-value 存儲工具,允許使用文件存儲持久化地保存 Python 對象。shelve 模塊相當於是對 dbm 模塊的一個簡單封裝。
使用shelve,我們可以像操作字典一樣操作持久化數據。可以把shelve看做是一個持久化字典,它將字典中鍵值對保存在磁碟上,因此數據不會隨著程序的結束而被清空。
import shelve with shelve.open('my_db') as db: db['key1'] = 'value1' db['key2'] = 'value2' db['key3'] = {'sub_key1': 'sub_value1', 'sub_key2': 'sub_value2'}
二、Pythonshelve的基礎使用
打開文件並獲取存儲的鍵是使用 shelve.open() 方法。當你關閉文件時,所有的變化都將被持久化到文件中。
通過 open 函數以二進位只讀模式打開一個 shelve 資料庫的實例,並將其存儲在變數 db 中:
import shelve with shelve.open('my_db') as db: db['key1'] = 'value1' db['key2'] = 'value2' db['key3'] = {'sub_key1': 'sub_value1', 'sub_key2': 'sub_value2'} print(db['key1']) # 輸出:value1 # 列印所有鍵列表 print(list(db.keys())) # 列印所有值列表 print(list(db.values()))
三、Pythonshelve的高級使用
比較重要的是,shelve提供了查詢,修改和刪除數據的介面。
以下是一些常見的高級用法:
import shelve db = shelve.open('my_db', writeback=True) # 查找一個鍵 db['key1'] # 返回:value1 # 獲取所有鍵列表 db.keys() # 獲取所有值列表 db.values() # 查詢一個鍵是否存在 'key1' in db # 返回True # 刪除一個鍵 del db['key1'] # 關閉文件 db.close()
四、Pythonshelve的優勢
Python shelve 模塊的優勢是它可以持久化保存 Python 對象,並能夠以內存緩存的形式訪問這些對象。這樣,在下一次使用這些對象的時候,可以不必重新生成它們,而是直接從磁碟中讀取它們。
另外,shelve了解普通Python數據類型和數據結構的內部結構,因此可以非常簡單地存儲和恢復這些數據類型,而無需進行其他轉換或處理。
五、總結
Pythonshelve是Python中非常有用的一個存儲工具,它可以讓我們使用文件來持久化地保存Python對象,並且可以像操作字典一樣操作持久化數據。在實際開發中,Pythonshelve可以作為一種非常實用的工具,方便地管理數據。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/151633.html