Python中的anydbm模版和shelve模版使用指南
admin
2023-07-31 02:25:59
0

好久没写这系列的文章了,我越来越喜欢用python了,它在我的工作中占据的比例越来越大。废话少说,直接进入主题。

 anydbm允许我们将一个磁盘上的文件与一个“dict-like”对象关联起来,操作这个“dict-like”对象,就像操作dict对象一样,最后可以将“dict-like”的数据持久化到文件。对这个”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是关联的文件路径,可选参数flag可以是: ‘r\’: 只读, ‘w\’: 可读写, ‘c\’: 如果数据文件不存在,就创建,允许读写; ‘n\’: 每次调用open()都重新创建一个空的文件。mode是unix下文件模式,如0666表示允许所有用户读写。
    shelve模块是anydbm的增强版,它支持在”dict-like”对象中存储任何可以被pickle序列化的对象,但key也必须是字符串。同样的例子,与shelve来实现:
 

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()

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...