assert语句用于检测某个条件表达式是否为真,if语句中的条件判断都可以使用assert语句检测
用dbhash模拟读写数据
DBM是一种文件式数据库,DBM采用哈希结构进行存储,是一种简单的数据库
dbhash模块主要的方法就是open(filename[,flag[,mode]]),其中filename表示数据库的名称,flag表示数据库的打开方式,'w’表示读或写数据库,'r’表示以只读的方式打开数据库,'c’表示创建数据库
实例:
import dbhash
db =dbhash.open('temp','c') #创建并打开数据库
db['Tom']='Beijing road' #写数据
db['Jerry']='Shanghai road'
for k,v in db.iteritems(): #遍历db对象
print k,v
print "==========="
if db.has_key('Tom'):
del db['Tom']
print db
db.close() #关闭数据库
shelve模块读写数据
shelve模块是python的持久化对象模块,该模块与anydbm模块的用法相似,但是shelve模块返回字典的value值支持基本的python类型。
实例:
import shelve
addresses = shelve.open('addresses')#打开addresses数据库,如果addresses数据库不存在则创建该数据库
addresses['1'] = ['Tom','Beijing road','2008-01-03']
addresses['2'] = ['Jerry','Shanghai road','2008-03-30']
print addresses
#{'1': ['Tom', 'Beijing road', '2008-01-03'], '2': ['Jerry', 'Shanghai road', '2008-03-30']}
使用sqlite3模块访问sqlite数据库
连接sqlite数据库大致可以分为以下6个步骤:
1、导入sqlite3模块
2、调用connect()创建数据库连接,返回连接对象conn
3、调用conn.execute()方法创建表结构,并插入数据,如果设置了手动提交,需要调用conn.commit()提交插入或修改的数据
4、调用conn.cursor()方法返回游标,通过cursor.execute()方法查询数据库
5、调用cursor.fetchall(),cursor.fetchmany()或cursor.fetchone()返回查询结果
6、关闭cursor和conn
实例:
import sqlite3
#连接数据库
conn = sqlite3.connect("D:/sublime_python/day9/addresses.db")#连接该数据库,不存在则创建
#创建表
conn.execute("create table if not exists address(id integer primary key autoincrement,name varchar(128),address varchar(128))")
#插入数据
conn.execute("insert into address(name,address)values('Tom','Beijing road')")
conn.execute("insert into address(name,address)values('Jerry','Shanghai road')")
#手动提交数据
conn.commit()
#获取游标对象
cur=conn.cursor()
#使用游标查询数据
cur.execute("select * from address")
#获取所有结果
res = cur.fetchall()
print "address:",res
for line in res:
for f in line:
print f,
print
#关闭连接
cur.close()
conn.close()