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

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

 更新時間:2015年07月09日 12:01:12   投稿:goldensun  
這篇文章主要介紹了Python中的anydbm模版和shelve模版使用指南,兩個模版都可用于數(shù)據(jù)存儲的序列化,需要的朋友可以參考下

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

 anydbm允許我們將一個磁盤上的文件與一個“dict-like”對象關(guān)聯(lián)起來,操作這個“dict-like”對象,就像操作dict對象一樣,最后可以將“dict-like”的數(shù)據(jù)持久化到文件。對這個”dict-like”對象進(jìn)行操作的時候,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)建一個空的文件。mode是unix下文件模式,如0666表示允許所有用戶讀寫。
    shelve模塊是anydbm的增強版,它支持在”dict-like”對象中存儲任何可以被pickle序列化的對象,但key也必須是字符串。同樣的例子,與shelve來實現(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()

相關(guān)文章

最新評論

多伦县| 绩溪县| 阿克苏市| 朝阳区| 博罗县| 鄂托克旗| 龙州县| 宣汉县| 冀州市| 阳谷县| 裕民县| 乌什县| 三穗县| 晋州市| 新竹市| 赞皇县| 乐至县| 同仁县| 安康市| 永寿县| 丰原市| 民乐县| 宣汉县| 彭泽县| 永宁县| 滨海县| 嘉义县| 闽清县| 八宿县| 洛阳市| 上虞市| 广州市| 通道| 绥芬河市| 临泽县| 夏津县| 蕉岭县| 甘泉县| 顺平县| 乌兰察布市| 长顺县|