1. 程式人生 > 程式設計 >Python shelve模組實現解析

Python shelve模組實現解析

一、持久化 --shelve

持久化工具

(1)作用:類似字典,用kv對儲存資料,存取方式類似於字典

(2)例子:通過一下案例建立了一個數據庫,第二個程式我們讀取了資料庫

#使用shelve建立檔案並使用
import shelve
shv = shelve.open(r"shv.db")
shv["one"] = 1
shv["two"] = 2
shv.close()

shv = shelve.open(r"shv.db")
try:
  print(shv["one"])
  print(shv["three"])
except:
  print("列印three時出錯了")
finally:
  shv.close()

二.shelve特性

(1)注意:不支援多個應用並行寫入,為了解決這個問題,open的時候可以使用writeback=True,注意一點如果不傳入這個引數我們後面對資料的更改只會在記憶體中進行更改,而不會寫回資料庫

(2)寫回問題

shelve不會等待持久化物件進行任何更改

shv = shelve.open(r"shv.db",writeback=True)
try:
  shv["one"] = {"eind":1,"zwei":2,"drei":3}
  one = shv["one"]
  print(one)
#這裡就對 資料進行了更改,如果沒有上面writeback=True,下面額語句就白寫了
  one["eind"] = 100
  print(one)
finally:
  shv.close()

三、原始碼

d22_4_shelve_module.py

地址:https://github.com/ruigege66/Python_learning/blob/master/d22_4_shelve_module.py

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。