CU上大神挺多,贴几段代码给大神们评审一下
CU上大神挺多,贴几段代码给大神们评审一下。因为大神们见多识广,目的就是把这几段虽然简单,但是却很基础、使用很频繁的代码给优化到极致,性能达到最好:
第一段:一个数据库操作封装,目的就是一个方法完成所有数据库相关的操作。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import mysql.connector
import mysql.connector.pooling
import mysql.connector.cursor
class Db(object):
def __init__(self, config, pool_name=None, pool_size=5):
self.pool = mysql.connector.pooling.MySQLConnectionPool(
pool_name=pool_name,
pool_size=pool_size,
**config)
def get_connection(self):
return self.pool.get_connection()
def execute(self, sql, params=None):
conn = self.get_connection()
cursor = conn.cursor(buffered=True, cursor_class=MySQLDictCursor)
data_set = []
for result in cursor.execute(sql, params, multi=True):
if result.with_rows:
data_set.append(result.fetchall())
else:
data_set.append(None)
conn.commit()
cursor.close()
conn.close()
return data_set
class MySQLDictCursor(mysql.connector.cursor.MySQLCursor):
def _row_to_python(self, row_data, desc=None):
row = super(MySQLDictCursor, self)._row_to_python(row_data, desc)
if row:
return dict(zip(self.column_names, row))
return None 我是来学习的! 发觉代码给优化到极致了啊。
学习。
页:
[1]