欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用Shelve保存對象方法總結(jié)

 更新時(shí)間:2019年01月28日 15:38:27   投稿:laozhang  
在本篇文章里我們給大家分享的是關(guān)于Python使用Shelve保存對象的知識點(diǎn)總結(jié),有興趣的朋友們學(xué)習(xí)下。

Shelve是一個(gè)功能強(qiáng)大的Python模塊,用于對象持久性。擱置對象時(shí),必須指定一個(gè)用于識別對象值的鍵。通過這種方式,擱置文件成為存儲(chǔ)值的數(shù)據(jù)庫,其中任何一個(gè)都可以隨時(shí)訪問。

Python中擱置的示例代碼

要擱置對象,首先導(dǎo)入模塊,然后按如下方式分配對象值:

import shelve
database = shelve.open(filename.suffix)
object = Object()
database['key'] = object

例如,如果要保留股票數(shù)據(jù)庫,可以調(diào)整以下代碼:

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”已經(jīng)打開,您無需再次打開它。相反,您可以一次打開多個(gè)數(shù)據(jù)庫,隨意寫入每個(gè)數(shù)據(jù)庫,并在程序終止時(shí)讓Python關(guān)閉它們。例如,您可以為每個(gè)符號保留一個(gè)單獨(dú)的名稱數(shù)據(jù)庫,并將以下內(nèi)容附加到前面的代碼中:

## 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

請注意,數(shù)據(jù)庫文件的名稱或后綴的任何更改都構(gòu)成不同的文件,因此構(gòu)成不同的數(shù)據(jù)庫。

結(jié)果是包含給定值的第二個(gè)數(shù)據(jù)庫文件。與大多數(shù)以自定格式編寫的文件不同,擱置的數(shù)據(jù)庫以二進(jìn)制形式保存。

將數(shù)據(jù)寫入文件后,可以隨時(shí)調(diào)用。如果要在以后的會(huì)話中還原數(shù)據(jù),請重新打開該文件。如果它是同一個(gè)會(huì)話,只需調(diào)用該值; 擱置數(shù)據(jù)庫文件以讀寫模式打開。以下是實(shí)現(xiàn)此目的的基本語法:

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']

擱置的考慮因素

請務(wù)必注意,在關(guān)閉數(shù)據(jù)庫之前(或直到程序終止),數(shù)據(jù)庫將保持打開狀態(tài)。因此,如果您正在編寫任何大小的程序,則需要在使用它之后關(guān)閉數(shù)據(jù)庫。否則,整個(gè)數(shù)據(jù)庫(不僅僅是您想要的值)位于內(nèi)存中并消耗計(jì)算資源。

要關(guān)閉擱置文件,請使用以下語法:

database.close()

如果上面的所有代碼示例都合并到一個(gè)程序中,那么我們將打開兩個(gè)數(shù)據(jù)庫文件并消耗內(nèi)存。因此,在閱讀上一個(gè)示例中的股票名稱之后,您可以依次關(guān)閉每個(gè)數(shù)據(jù)庫,如下所示:

stockvalues_db.close()
stocknames_db.close()
stockname_file.close()

相關(guān)文章

  • 用Python生成N層的楊輝三角的實(shí)現(xiàn)方法

    用Python生成N層的楊輝三角的實(shí)現(xiàn)方法

    這篇文章主要介紹了用Python生成N層的楊輝三角的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python批量上傳文件信息到服務(wù)器的實(shí)現(xiàn)示例

    Python批量上傳文件信息到服務(wù)器的實(shí)現(xiàn)示例

    在進(jìn)行軟件測試的過程中,經(jīng)常會(huì)需要準(zhǔn)備一批數(shù)據(jù),本文主要介紹了Python批量上傳文件信息到服務(wù)器的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • Django Rest framework頻率原理與限制

    Django Rest framework頻率原理與限制

    這篇文章主要介紹了Django Rest framework頻率原理與限制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python文件常見操作實(shí)例分析【讀寫、遍歷】

    Python文件常見操作實(shí)例分析【讀寫、遍歷】

    這篇文章主要介紹了Python文件常見操作,結(jié)合實(shí)例形式分析Python針對文件的讀寫、遍歷等相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • python實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃算法的示例代碼

    python實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃算法的示例代碼

    本文主要介紹了python實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃算法的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Anaconda安裝pytorch和paddle的方法步驟

    Anaconda安裝pytorch和paddle的方法步驟

    本文主要介紹了Anaconda安裝pytorch和paddle的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 在PyTorch中使用標(biāo)簽平滑正則化的問題

    在PyTorch中使用標(biāo)簽平滑正則化的問題

    這篇文章主要介紹了如何在PyTorch中使用標(biāo)簽平滑正則化的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • WxPython實(shí)現(xiàn)無邊框界面

    WxPython實(shí)現(xiàn)無邊框界面

    這篇文章主要為大家詳細(xì)介紹了WxPython實(shí)現(xiàn)無邊框界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Python區(qū)塊鏈創(chuàng)建Genesis Block教程

    Python區(qū)塊鏈創(chuàng)建Genesis Block教程

    這篇文章主要為大家介紹了Python區(qū)塊鏈創(chuàng)建Genesis Block教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python正則表達(dá)式實(shí)例代碼

    python正則表達(dá)式實(shí)例代碼

    這篇文章主要介紹了python正則表達(dá)式的一些實(shí)例代碼,方便學(xué)習(xí)python的朋友,需要的朋友可以參考下
    2020-03-03

最新評論