国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python中的anydbm模版和shelve模版使用指南

2019-11-25 17:12:42
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

好久沒(méi)寫這系列的文章了,我越來(lái)越喜歡用python了,它在我的工作中占據(jù)的比例越來(lái)越大。廢話少說(shuō),直接進(jìn)入主題。

 anydbm允許我們將一個(gè)磁盤上的文件與一個(gè)“dict-like”對(duì)象關(guān)聯(lián)起來(lái),操作這個(gè)“dict-like”對(duì)象,就像操作dict對(duì)象一樣,最后可以將“dict-like”的數(shù)據(jù)持久化到文件。對(duì)這個(gè)”dict-like”對(duì)象進(jìn)行操作的時(shí)候,key和value的類型必須是字符串。下面是使用anydbm的例子:
   

#coding=utf-8 import anydbm def CreateData():  try:    db = anydbm.open('db.dat', 'c')    # key與value必須是字符串    # db['int'] = 1    # db['float'] = 2.3    db['string'] = "I like python."    db['key'] = 'value'  finally:    db.close() def LoadData():  db = anydbm.open('db.dat', 'r')  for item in db.items():    print item  db.close() if __name__ == '__main__':  CreateData()  LoadData()

anydbm.open(filename[, flag[, mode]]),filename是關(guān)聯(lián)的文件路徑,可選參數(shù)flag可以是: ‘r': 只讀, ‘w': 可讀寫, ‘c': 如果數(shù)據(jù)文件不存在,就創(chuàng)建,允許讀寫; ‘n': 每次調(diào)用open()都重新創(chuàng)建一個(gè)空的文件。mode是unix下文件模式,如0666表示允許所有用戶讀寫。
    shelve模塊是anydbm的增強(qiáng)版,它支持在”dict-like”對(duì)象中存儲(chǔ)任何可以被pickle序列化的對(duì)象,但key也必須是字符串。同樣的例子,與shelve來(lái)實(shí)現(xiàn):
 

import shelve def CreateData():  try:    db = shelve.open('db.dat', 'c')    # key與value必須是字符串    db['int'] = 1    db['float'] = 2.3    db['string'] = "I like python."    db['key'] = 'value'  finally:    db.close() def LoadData():  db = shelve.open('db.dat', 'r')  for item in db.items():    print item  db.close() if __name__ == '__main__':  CreateData()  LoadData()

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 赤水市| 灵寿县| 庆云县| 盐边县| 长岭县| 庆安县| 和田市| 华宁县| 资溪县| 北票市| 井研县| 石台县| 青浦区| 阿荣旗| 正蓝旗| 眉山市| 合山市| 天水市| 新津县| 秭归县| 井研县| 丁青县| 象山县| 兴山县| 招远市| 和平区| 平安县| 沙湾县| 黑河市| 龙门县| 汉川市| 陆良县| 班戈县| 清水河县| 泰来县| 宁德市| 环江| 沁阳市| 铜鼓县| 桑植县| 襄汾县|