python 的sqlite3连接模块用法.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
python 的sqlite3连接模块用法

? python在2.5版以后,就自带了sqlite3模块,直接import即可。 ? 模块可用后,就可以实现连接sqlite数据库的功能。sqlite3数据库与mysql不同,它每一个库叫做一个文件,连接的时候,库名即文件名,库内的表则操作方法与mysql相同,或许支持的sql语句会有一些差异。 ? 我根据连接mysql的操作方法的包装,改写成了这个sqlite数据库连接模块。附件有这个源码。 ? ? Python代码?? #coding=gbk?? import?os,sys,string?? import?sqlite3?? import?traceback?? ?? class?SQLObj(object):?? ????def?__init__(self,?db?=?youmoney):?? ????????self.db_name?=?db?? ????????self.connected?=?0?? ????????self.cur??=?None?#?指针对象?? ????????self.conn?=?None?#?连接对象?? ????????self._connect()?? ?? ????def?_connect(self):?? ????????try:?? ????????????#print?connect?to?,?self.db_name?? ????????????self.conn?=?sqlite3.connect(self.db_name)?? ????????????self.cur?=?self.conn.cursor()?? ????????????self.connected?=?1?? ????????except:?? ????????????traceback.print_exc()?? ????????????self.connected?=?0?? ? ????@property?? ????def?is_connected(self):?? ????????return?self.connected?!=?0?? ?? ????def?_check_alive(self):?? ????????if?not?self.is_connected:?? ????????????self._connect()?? ????????if?not?self.is_connected:?? ????????????raise?Cant?connect?to?sqlite3?? ?? ????#直接提取方法?? ????def?query(self,?sql,?warning=1):?? ????????self._check_alive()?? ????????try:?? ????????????cur?=?self.conn.cursor()?? ????????????cur.execute(sql)?? ????????????res?=?cur.fetchall()?? ????????????cur.close()?? ????????except:?? ????????????if?warning:?? ????????????????traceback.print_exc()?? ????????????return?None?? ????????return?res?? ?? ?? ????#特殊的提取方法,形成字典返回?? ????def?dquery(self,?sql,?warning=1):?? ????????self._check_alive()?? ????????try:?? ????????????cur?=?self.conn.cursor()?? ????????????cur.execute(sql)?? ?????????????? ????????????des?=?cur.description?#获取字段描述?? ????????????res?=?cur.fetchall()??#获取字段内容?? ????????????ret?=?[]?? ????????????if?des:?? ????????????????names?=?[x[0]?for?x?in?des]?#从des中提取每个元素(列表)的第一个元素(字符串)?? ????????????????for?line?in?res:?? ????????????????????ret.append(dict(zip(names,?line)))?#dict是形成字典的工厂函数,zip用于多个列表循环(name,?line是两个列表)?? ????????????e

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档