香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

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


时间:2021-12-08 14:53 作者:admin610456


好久没写这系列的文章了,我越来越喜欢用python/' target='_blank'>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()

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)