国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python使用上下文處理器來管理mysql連接

zorpan / 3215人閱讀

一,使用contextmanager

from contextlib import contextmanager
import MySQLdb

DB_CONFIG = {
    "host": "192.168.1.253",
    "user": "pythondb",
    "passwd": "python123",
    "port": 20002,
    "db": "xw",
    "charset": "utf8"
}


@contextmanager
def open_mysql(db_conf):
    try:
        conn = MySQLdb.connect(**db_conf)
        if conn:
            yield conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
    except Exception as e:
        print(e)
    finally:
        conn.close()

if __name__ == "__main__":
    with open_mysql(DB_CONFIG) as con:
        sql = "select 1 as c"
        con.execute(sql)
        rv = con.fetchall()
        print(rv)

二,使用__enter__跟__exit__

class OpenMysqlConn(object):
    def __init__(self, db_conf):
        self.db_conf = db_conf
        self.conn = None

    def __enter__(self):
        try:
            self.conn = MySQLdb.connect(**self.db_conf)
            if self.conn:
                return self.conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
        except (AttributeError, MySQLdb.OperationalError):
            current_app.logger.error("連接數(shù)據(jù)庫失敗")

    def __exit__(self, exc_type, exc_val, exc_tb):
        if self.conn:
            self.conn.close()

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/44303.html

相關(guān)文章

  • python 數(shù)據(jù)庫編程,這篇是針對 mysql 的,滾雪球?qū)WPython第4季第13篇

    摘要:的安裝博客補充知識年最新安裝教程,滾雪球?qū)W第四季。操作操作數(shù)據(jù)庫一般被程序員成為操作增刪改查,其中各個字符分別代表新增,讀取,更新,刪除。可以返回受影響行數(shù),可以直接通過該值判斷是否修改成功。 ...

    xiaowugui666 評論0 收藏0
  • CentOS 下使用 Pipenv + Gunicorn + Supervisor 部署 Flask

    摘要:根據(jù)中華人民共和國信息產(chǎn)業(yè)部第十二次部務(wù)會議審議通過的非經(jīng)營性互聯(lián)網(wǎng)信息服務(wù)備案管理辦法精神,在中華人民共和國境內(nèi)提供非經(jīng)營性互聯(lián)網(wǎng)信息服務(wù),應(yīng)當(dāng)辦理備案。未經(jīng)備案,不得在中華人民共和國境內(nèi)從事非經(jīng)營性互聯(lián)網(wǎng)信息服務(wù)。 當(dāng)我們開發(fā)了一個簡單的 Flask 程序,想把項目部署上線,我們可以選擇傳統(tǒng)的部署方式或者云部署方式把項目部署上線。在本文中,筆者將使用 阿里云輕量應(yīng)用服務(wù)器 安裝 C...

    anyway 評論0 收藏0
  • Python學(xué)習(xí)筆記:Web后端開發(fā)一覽

    摘要:試想,在多線程服務(wù)器中,多個線程同時處理不同客戶端發(fā)送的不同請求時,每個線程看到的對象必然不同。多線程服務(wù)器會創(chuàng)建一個線程池,再從線程池中選擇一個線程用于處理接收到的請求。 框架 Django flask flask是一個輕量的web開發(fā)應(yīng)用示例開發(fā)一個小應(yīng)用 from flask import Flask app = Flask(__name__) @app.route(/) d...

    DrizzleX 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<