zoukankan      html  css  js  c++  java
  • python shelve 模块

    一、简介
    
      在python3中我们使用json或者pickle持久化数据,
    能dump多次,但只能load一次,因为先前的数据已经被后面dump的数据覆盖掉了。
    如果我们想要实现dump和load多次,可以使用shelve模块。
    shelve模块可以持久化所有pickle所支持的数据类型。
    
    
    代码:
    #持久化数据
    import shelve
    import datetime
    
    # info = {'name': 'bigberg', 'age': 22}
    # name = ['Apoll', 'Zous', 'Luna']
    # t = datetime.datetime.now()
    #
    # with shelve.open('shelve.txt') as f:
    #     f['name'] = name  # 持久化列表
    #     f['info'] = info  # 持久化字典
    #     f['time'] = t  # 持久化时间类型
    #
    # # 执行代码后会生成3个文件:shelve.txt.bak、shelve.txt.dat、shelve.txt.dir。
    
    
    
    #删除
    # with shelve.open('shelve.txt') as f:
    #     del f['name']
    
    #获取数据:用get
    
    import shelve
    
    # with shelve.open('shelve.txt') as f:
    #     n = f.get('name')
    #     i = f.get('info')
    #     now = f.get('time')
    #
    # print(n)
    # print(i)
    # print(now)
    
    # 输出
    
    

    总结:

    1、shelve模块是一个简单的key,value将内存数据通过文件持久化的模块。
    
    2、shelve模块可以持久化任何pickle可支持的python数据格式。
    
    3、shelve就是pickle模块的一个封装。
    
    4、shelve模块是可以多次dump和load。
  • 相关阅读:
    项目开发基础概念
    django 对接elasticsearch实现全文检索
    win10安装docker
    Mac VMware Fusion 中修改 centos7 虚拟机的磁盘空间、扩容
    CentOS 7下 YUM 本地仓库的搭建
    mac与虚拟机传输文件
    mac和windows快速锁定电脑
    rpm -qa详解
    虚拟机安装centos6
    mac与iPhone互传文件
  • 原文地址:https://www.cnblogs.com/bluesl/p/9102697.html
Copyright © 2011-2022 走看看