import shelve
d = shelve.open(filename) # open -- file may get suffix added by low-level
# library
d[key] = data # store data at key (overwrites old data if
# using an existing key)
data = d[key] # retrieve a COPY of data at key (raise KeyError if no
# such key)
del d[key] # delete data stored at key (raises KeyError
# if no such key)
flag = d.has_key(key) # true if the key exists
klist = d.keys() # a list of all existing keys (slow!)
# as d was opened WITHOUT writeback=True, beware:
d['xx'] = range(4) # this works as expected, but...
d['xx'].append(5) # *this doesn't!* -- d['xx'] is STILL range(4)!!!
# having opened d without writeback=True, you need to code carefully:
temp = d['xx'] # extracts the copy
temp.append(5) # mutates the copy
d['xx'] = temp # stores the copy right back, to persist it
# or, d=shelve.open(filename,writeback=True) would let you just code
# d['xx'].append(5) and have it work as expected, BUT it would also
# consume more memory and make the d.close() operation slower.
d.close() # close it
分享到:
相关推荐
在Python中,shelve模块提供了一种简单的方法来存储和检索Python对象,这些对象可以是任何可序列化的数据类型。而PHP Shelve则为PHP开发者提供了类似的功能,允许他们将PHP对象持久化到磁盘,以便在后续的程序运行中...
2. 持久化数据结构:Python的标准库提供了几种数据结构,如`pickle`和`shelve`,可以将复杂的数据结构(如列表、字典)保存到磁盘。`pickle`模块能将Python对象转换为字节流,然后写入文件;反之,可以从文件中读取...
第五周-第09章节-Python3.5-内置模块详解之Shelve模块.avi
搁置我 一个读者可以相互联系并整理书籍的地方。 使用亚马逊的 API,用户可以通过输入 ISBN10 将图书添加到数据库中。 图书信息取自亚马逊服务器,书名、作者、描述、封面属性一键设置。 Sheve Me 使用 Backbone.js...
Python的shelve模块或pickle库可以用来持久化存储对象,避免数据丢失。同时,定期备份数据库到云存储或外部设备也是一个好习惯。 综上所述,"Expense-Tracker"是一个集数据输入、存储、分析、可视化和预算管理于...
当实例不再需要立即运行,但又希望保留其状态时,Shelve操作提供了一种有效的方法。Shelve Instance允许管理员将实例暂时移除,释放宿主机上的资源,同时保持实例的状态以便稍后恢复。在本文中,我们将深入探讨...
Python3的`shelve`模块提供了对象持久存储的功能,它是一种简单的方式,尤其在不需要使用关系型数据库的情况下。`shelve`操作的对象就像字典一样,通过键来访问,但不同的是,`shelve`中的值会被序列化(pickled)后...
Python3的`shelve`模块是一个非常实用的工具,它提供了简单的方法来持久化Python对象。这个模块的主要目的是为了能够方便地保存和加载数据,即使数据类型比较复杂,例如字典、列表或者其他自定义的对象。下面我们将...
### Python3内置持久化模块shelve心得 #### 概述 Python 提供了多种方式来实现数据的持久化,其中 `shelve` 模块是一个非常实用的选择,它允许我们像使用字典一样来存储复杂的数据结构,并将其保存到磁盘上以便...
**Python Shelve 模块详解** 在Python编程中,`Shelve`是一个非常有用的模块,它提供了一种简单的方法来保存和恢复Python对象。Shelve模块允许开发者将Python对象持久化到磁盘,使得在程序的后续运行中可以方便地...
shelve模块是Python的一个标准库模块,用于实现数据的持久化存储。它允许你将Python中的数据结构,比如字典、列表等,保存在磁盘的文件中,以便程序关闭之后仍然能够访问这些数据。当需要时,可以从文件中读取数据,...
【Python shelve模块详解】 `shelve`是Python标准库中的一个模块,它提供了一种简单的方法来持久化存储Python对象。与`anydbm`类似,`shelve`允许我们将对象保存到磁盘上的文件中,以实现数据的持久化。但是,两者...
Python 入门教程详细知识点总结 本文档提供了 Python 编程语言的详细入门教程,从零基础到精通,涵盖了 Python 的各个方面,包括语法、数据类型、函数、模块、面向对象、异常处理、网络编程和并发编程等。 第一章...
Python shelve模块是一个用于数据持久化的库,它允许用户以键值对的形式存储Python对象。这个模块特别适合需要快速存储和读取数据的场景,而且因为其操作方式类似于字典,使得它非常易于学习和使用。 首先,我们...
在Python编程语言中,`pickle`和`shelve`是两个非常重要的模块,它们主要用于数据序列化和持久化。这两个模块对于数据存储和恢复、跨程序间的数据传递以及简化复杂对象的保存和读取有着重要作用。 `pickle`模块是...
Python参考手册,官方正式版参考手册,chm版。以下摘取部分内容:Navigation index modules | next | Python » 3.6.5 Documentation » Python Documentation contents What’s New in Python What’s New In ...