#!/usr/bin/python
#coding=utf-8
import hashlib
a = "a test string"
print 'md5:', hashlib.md5(a).hexdigest()
#!/usr/bin/env python
#coding=utf-8
'''
shelve python 的一个建议数据库
'''
import shelve
key = '0101'
def save(db):
db[key] = 'my name is aircoder!'
print ' I has save a data in python small db!'
def load(db):
value = db[key]
print 'value is:',value
if __name__ == '__main__':
db = shelve.open('db');
try:
kind = raw_input('Enter your want:')
if kind == 'save':
save(db)
elif kind == 'load':
load(db)
else:
print 'you are gum!'
finally:
db.close()
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()
分享到:
相关推荐
Python3的`shelve`模块是一个非常实用的工具,它提供了简单的方法来持久化Python对象。这个模块的主要目的是为了能够方便地保存和加载数据,即使数据类型比较复杂,例如字典、列表或者其他自定义的对象。下面我们将...
Python 提供了多种方式来实现数据的持久化,其中 `shelve` 模块是一个非常实用的选择,它允许我们像使用字典一样来存储复杂的数据结构,并将其保存到磁盘上以便后续使用。 #### shelve 模块详解 `shelve` 模块基于...
Python shelve模块是一个用于数据持久化的库,它允许用户以键值对的形式存储Python对象。这个模块特别适合需要快速存储和读取数据的场景,而且因为其操作方式类似于字典,使得它非常易于学习和使用。 首先,我们...
这份文档是对Python标准库的一次深入梳理和总结,尽管辛星本人承认这份文档可能不全面,并承诺在未来的版本中将进行改进,但该文档在当时为Python开发者提供了一个宝贵的学习资源。 从文档的描述来看,这份整理是...
`shelve`是Python标准库中的一个模块,它提供了一种简单的方法来持久化存储Python对象。与`anydbm`类似,`shelve`允许我们将对象保存到磁盘上的文件中,以实现数据的持久化。但是,两者在关键点上有所不同。 1. **...
在Python编程中,`Shelve`是一个非常有用的模块,它提供了一种简单的方法来保存和恢复Python对象。Shelve模块允许开发者将Python对象持久化到磁盘,使得在程序的后续运行中可以方便地访问这些对象。Shelve模块的特性...
shelve模版,对应文件StandardLibrary9和databaseShelve,文章:https://blog.csdn.net/yysyangyangyangshan/article/details/85084999
shelve模块是Python的一个标准库模块,用于实现数据的持久化存储。它允许你将Python中的数据结构,比如字典、列表等,保存在磁盘的文件中,以便程序关闭之后仍然能够访问这些数据。当需要时,可以从文件中读取数据,...
书中还提到了如何在Python中使用类(Classes),向对象添加行为(Adding Behavior)和继承(Adding Inheritance),继承是面向对象编程中的一个基本特征,允许新创建的类继承原有类的属性和方法,从而减少代码的冗余...
而Shelve模块提供了一个类似字典的对象,可以将Python对象存储在数据库文件中,实现数据的持久化存储。 Python是一种解释型语言,也是所谓的“胶水语言”,它能够将不同语言编写的各种模块(尤其是C/C++编写的模块...
9. **加密与安全**:`hashlib`提供哈希函数,`hmac`实现消息认证码,`ssl`提供了安全套接字层(SSL)和传输层安全(TLS)。 10. **科学计算和数据处理**:虽然Python标准库并不专注于科学计算,但`math`和`cmath`...
在Python中,如果你想要将对象保存到磁盘以便后续使用,`shelve`是一个很好的选择。它的工作原理是将Python对象转换为字节流(pickling),然后将其存储在基于`dbm`的数据库中。`shelve`模块提供了一种易于使用的...
本文档提供了 Python 编程语言的详细入门教程,从零基础到精通,涵盖了 Python 的各个方面,包括语法、数据类型、函数、模块、面向对象、异常处理、网络编程和并发编程等。 第一章:Python 介绍 * Python 由来和...
《Python 3标准库——The Python 3 Standard Library by Example》是一本详尽介绍Python 3标准库的著作,共计1400多页,涵盖了Python编程中的诸多核心概念和实用模块。这本书以实例为引导,让读者通过实践来理解和...
SQLite数据库是以一个文件或内存的形式存在的自包含的关系型数据库。 * DBM-style 数据库模块:python提供了打了的modules来支持UNIX DBM-style数据库文件。dbm模块用来读取标准的UNIX-dbm数据库文件,gdbm用来读取...
shelve类似于一个key-value数据库,可以很方便的用来保存Python的内存对象,其内部使用pickle来序列化数据,简单来说,使用者可以将一个列表、字典、或者用户自定义的类实例保存到shelve中,下次需要用的时候直接取...
Python标准库是Python编程语言的核心组成部分,包含了大量预先编写的模块和函数,涵盖了网络通信、文件处理、系统接口、数据库接口、加密、图形系统等多个领域。对于任何Python开发者来说,熟悉并掌握Python标准库是...