亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: CU上大神挺多,貼幾段代碼給大神們?cè)u(píng)審一下 [打印本頁]

作者: linustd    時(shí)間: 2014-06-30 18:54
標(biāo)題: CU上大神挺多,貼幾段代碼給大神們?cè)u(píng)審一下
CU上大神挺多,貼幾段代碼給大神們?cè)u(píng)審一下。
因?yàn)榇笊駛円姸嘧R(shí)廣,目的就是把這幾段雖然簡(jiǎn)單,但是卻很基礎(chǔ)、使用很頻繁的代碼給優(yōu)化到極致,性能達(dá)到最好:
第一段:一個(gè)數(shù)據(jù)庫操作封裝,目的就是一個(gè)方法完成所有數(shù)據(jù)庫相關(guān)的操作。

  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-


  3. import mysql.connector
  4. import mysql.connector.pooling
  5. import mysql.connector.cursor


  6. class Db(object):

  7.     def __init__(self, config, pool_name=None, pool_size=5):
  8.         self.pool = mysql.connector.pooling.MySQLConnectionPool(
  9.             pool_name=pool_name,
  10.             pool_size=pool_size,
  11.             **config)

  12.     def get_connection(self):
  13.         return self.pool.get_connection()

  14.     def execute(self, sql, params=None):
  15.         conn = self.get_connection()
  16.         cursor = conn.cursor(buffered=True, cursor_class=MySQLDictCursor)
  17.         data_set = []
  18.         for result in cursor.execute(sql, params, multi=True):
  19.             if result.with_rows:
  20.                 data_set.append(result.fetchall())
  21.             else:
  22.                 data_set.append(None)
  23.         conn.commit()
  24.         cursor.close()
  25.         conn.close()
  26.         return data_set


  27. class MySQLDictCursor(mysql.connector.cursor.MySQLCursor):

  28.     def _row_to_python(self, row_data, desc=None):
  29.         row = super(MySQLDictCursor, self)._row_to_python(row_data, desc)
  30.         if row:
  31.             return dict(zip(self.column_names, row))
  32.         return None
復(fù)制代碼

作者: qxhgd    時(shí)間: 2014-06-30 21:33
我是來學(xué)習(xí)的!
作者: pitonas    時(shí)間: 2014-07-01 15:42
發(fā)覺代碼給優(yōu)化到極致了啊。
學(xué)習(xí)。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2