首頁 > 後端開發 > Python教學 > 在Python中如何使用Shelve保存對象

在Python中如何使用Shelve保存對象

藏色散人
發布: 2019-01-17 09:49:18
原創
2680 人瀏覽過

Shelve是一個功能強大的Python模組,用於物件持久性。擱置物件時,必須指定一個用於識別物件值的鍵。透過這種方式,擱置文件成為儲存值的資料庫,其中任何一個都可以隨時存取。

在Python中如何使用Shelve保存對象

Python中擱置的範例程式碼

要擱置對象,先匯入模組,然後如下指派物件值:

 import shelve
database = shelve.open(filename.suffix)
object = Object()
database['key'] = object
登入後複製

例如,如果您要保留股票資料庫,可以調整下列程式碼:

import shelve
stockvalues_db = shelve.open('stockvalues.db')
object_ibm = Values.ibm()
stockvalues_db['ibm'] = object_ibm
object_vmw = Values.vmw()
stockvalues_db['vmw'] = object_vmw
object_db = Values.db()
stockvalues_db['db'] = object_db
登入後複製

「stock values.db」已經打開,您無需再次打開它。相反,您可以一次打開多個資料庫,隨意寫入每個資料庫,並在程式終止時讓Python關閉它們。例如,您可以為每個符號保留一個單獨的名稱資料庫,並將以下內容附加到前面的程式碼中:

 ## assuming shelve is already imported
stocknames_db = shelve.open('stocknames.db')
objectname_ibm = Names.ibm()
stocknames_db['ibm'] = objectname_ibm
objectname_vmw = Names.vmw()
stocknames_db['vmw'] = objectname_vmw
objectname_db = Names.db()
stocknames_db['db'] = objectname_db
登入後複製

請注意,資料庫檔案的名稱或後綴的任何變更都構成不同的文件,因此構成不同的資料庫。

結果是包含給定值的第二個資料庫檔案。與大多數以自定格式編寫的文件不同,擱置的資料庫以二進位形式保存。

將資料寫入檔案後,可以隨時呼叫。如果要在以後的會話中還原數據,請重新開啟該檔案。如果它是同一個會話,只需呼叫該值; 擱置資料庫檔案以讀寫模式開啟。以下是實現此目的的基本語法:

 import shelve
database = shelve.open(filename.suffix)
object = database['key']
登入後複製

因此,前面範例中的範例將顯示為:

 import shelve
stockname_file = shelve.open('stocknames.db')
stockname_ibm = stockname_file['ibm']
stockname_db = stockname_file['db']
登入後複製

擱置的考慮因素

請務必注意,在關閉在資料庫之前(或直到程式終止),資料庫將保持開啟狀態。因此,如果您正在編寫任何大小的程序,則需要在使用它之後關閉資料庫。否則,整個資料庫(不僅僅是您想要的值)位於記憶體中並消耗計算資源。

要關閉擱置文件,請使用以下語法:

database.close()
登入後複製

如果上面的所有程式碼範例都合併到一個程式中,那麼我們將開啟兩個資料庫檔案並消耗記憶體。因此,在閱讀上一個範例中的股票名稱之後,您可以依序關閉每個資料庫,如下所示:

 stockvalues_db.close()
stocknames_db.close()
stockname_file.close()
登入後複製

以上是在Python中如何使用Shelve保存對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板