最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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è)用于識別對象值的鍵。通過這種方式,擱置文件成為存儲值的數(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)用。如果要在以后的會話中還原數(shù)據(jù),請重新打開該文件。如果它是同一個(gè)會話,只需調(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)文章

最新評論

嘉禾县| 大关县| 玉田县| 乡城县| 邳州市| 萍乡市| 新余市| 密山市| 专栏| 西丰县| 遂昌县| 固镇县| 廉江市| 公安县| 四子王旗| 义乌市| 乌鲁木齐市| 两当县| 双柏县| 长丰县| 平武县| 运城市| 湘阴县| 安新县| 太湖县| 鹰潭市| 牡丹江市| 丁青县| 翁牛特旗| 渝北区| 昂仁县| 新兴县| 青海省| 桐庐县| 潜山县| 阜平县| 涿鹿县| 宜良县| 四川省| 西华县| 政和县|