• shelve的简单使用


    shelve类似于一个key-value数据库,可以很方便的用来保存Python的内存对象,其内部使用pickle来序列化数据,简单来说,使用者可以将一个列表、字典、或者用户自定义的类实例保存到shelve中,下次需要用的时候直接取出来,就是一个Python内存对象,不需要像传统数据库一样,先取出数据,然后用这些数据重新构造一遍所需要的对象。

    简单使用:

    >>> import shelve
    >>> d = shelve.open('t.s')
    >>> d['key']= []
    >>> d['key']
    []
    >>> d.cache
    {}
    >>> d['key'].append(1)
    >>> d['key']  #发现直接修改没有起作用
    []
    >>> #修改数据的方法
    ... 
    >>> tmp = d['key'] #方法1.将要修改的数据复制给一个临时变量,修改临时变量,完成后,在将临时变量重新赋值给要修改的数据
    >>> tmp.append(1)
    >>> tmp.append(2)
    >>> d['key'] = tmp
    >>> d['key']
    [1, 2]
    >>> d.cache
    {}
    >>> d.close()
    >>> d = shelve.open('t.s', writeback=True)  #方法2.将writeback置为True,当数据发生变化会回写,不过会导致内存开销比较大
    >>> d['key']
    [1, 2]
    >>> d.cache 
    {'key': [1, 2]}
    >>> d['key'].append(3)
    >>> d['key'].append(4)
    >>> d['key']
    [1, 2, 3, 4]
    >>> d.cache  #cache同步变化
    {'key': [1, 2, 3, 4]}
    >>> d.close()
  • 相关阅读:
    SQL SERVER 2005 行转列
    为什么jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON
    Silverlight 布局控件
    python socket connection
    linux下缓存的查看/修改
    openstackflat 网络问题
    Fail to start neutronserver
    copy module
    python ConfigParser
    itertools 介绍
  • 原文地址:https://www.cnblogs.com/hupeng1234/p/6714520.html
Copyright © 2020-2023  润新知