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

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

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

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

 anydbm允許我們將一個磁盤上的文件與一個“dict-like”對象關聯(lián)起來,操作這個“dict-like”對象,就像操作dict對象一樣,最后可以將“dict-like”的數(shù)據(jù)持久化到文件。對這個”dict-like”對象進行操作的時候,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是關聯(lián)的文件路徑,可選參數(shù)flag可以是: ‘r': 只讀, ‘w': 可讀寫, ‘c': 如果數(shù)據(jù)文件不存在,就創(chuàng)建,允許讀寫; ‘n': 每次調用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()

相關文章

最新評論

隆子县| 东阳市| 宾阳县| 石嘴山市| 遵义县| 湛江市| 岳阳市| 芦溪县| 郴州市| 福鼎市| 安泽县| 开封县| 塘沽区| 蓬安县| 瑞金市| 手游| 晴隆县| 桐柏县| 永清县| 吉安县| 海晏县| 手机| 东乡| 海林市| 中山市| 文安县| 土默特右旗| 旺苍县| 松溪县| 台山市| 神池县| 方山县| 吴桥县| 盐边县| 清水河县| 万年县| 香港 | 宜州市| 墨竹工卡县| 安阳市| 南汇区|