python封装成类_用python 将 pymysql操作封装成类

importpymysqlimportloggingimportsys#加入日志#获取logger实例

logger = logging.getLogger("baseSpider")#指定输出格式

formatter = logging.Formatter('%(asctime)s\

%(levelname)-8s:%(message)s')#文件日志

file_handler = logging.FileHandler("baseSpider.log")

file_handler.setFormatter(formatter)#控制台日志

console_handler =logging.StreamHandler(sys.stdout)

console_handler.setFormatter(formatter)#为logge添加具体的日志处理器

logger.addHandler(file_handler)

logger.addHandler(console_handler)

logger.setLevel(logging.INFO)classDBHelper:#构造函数

def __init__(self, host='127.0.0.1', user='root',

pwd='123456', db='testdb'):

self.host=host

self.user=user

self.pwd=pwd

self.db=db

self.conn=None

self.cur=None#连接数据库

defconnectDatabase(self):try:

self.conn=pymysql.connect(self.host, self.user,

self.pwd, self.db,charset='utf8')except:

logger.error("connectDatabase failed")returnFalse

self.cur=self.conn.cursor()returnTrue#关闭数据库

defclose(self):#如果数据打开,则关闭;否则没有操作

if self.conn andself.cur:

self.cur.close()

self.conn.close()returnTrue#执行数据库的sq语句,主要用来做插入操作

def execute(self, sql, params=None):#连接数据库

self.connectDatabase()try:if self.conn andself.cur:#正常逻辑,执行sql,提交操作

self.cur.execute(sql, params)

self.conn.commit()except:

logger.error("execute failed:"+sql)

logger.error("params:"+params)

self.close()returnFalsereturnTrue#用来查询表数据

def fetchall(self, sql, params=None):

self.execute(sql,params)returnself.cur.fetchall()if __name__ == '__main__':

dbhelper=DBHelper()#创建数据库的表

sql = "create table maoyan('id'varchar(8),\

'title'varchar(50),\

'star'varchar(200), \

'time'varchar(100),primary key('id'));"result=dbhelper.execute(sql,None)ifresult:

logger.info("maoyan table创建成功")else:

logger.error("maoyan table创建失败")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值