python - weakly-referenced object no longer exists? 數(shù)據(jù)庫連接關(guān)閉問題
問題描述
#! python3import mysql.connectorclass A: def __init__(self):self.dbconfig = {....}self.conn = mysql.connector.connect(**self.dbconfig)self.cur = self.conn.cursor() def __del__(self):self.cur.close()self.conn.close()
數(shù)據(jù)庫連接也成功了,但是執(zhí)行完該類后就會報錯:
Exception ignored in: <bound method A.__del__ of <__main__.**** object at 0x0000000001151358>>Traceback (most recent call last): File '****.py', line *, in __del__ File '*****Python35libsite-packagesmysqlconnectorcursor.py', line 344, in closeReferenceError: weakly-referenced object no longer exists
還請知道什么原因的司機解惑!萬分感謝!按stackoverflow上的方案就是我寫的這樣,但是還是有問題,難道是我的翻譯軟件有問題?
問題解答
回答1:好吧,自己答一下。并不知道是什么原因?qū)е碌腻e誤,等以后水平高點再來回答。暫時解決辦法:
import mysql.connectorclass A: def __init__(self):self.dbconfig = {...}try: self.conn = mysql.connector.connect(**self.dbconfig) self.cur = self.conn.cursor() print(’mysql conn success!’)except: print('mysql conn error!') def __del__(self):#if self.cur:# self.cur.close()if self.conn: self.conn.close()if __name__ == ’__main__’: a = A()
補充:事實證明,不能在__del__()里面close游標
回答2:可能是你配置寫錯了,沒連接上mysql如果是這句代碼self.cur = self.conn.cursor()報的錯,說明你沒連接上
相關(guān)文章:
1. mysql - 面試題:如何把login_log表轉(zhuǎn)換成last_login表?2. html5 - iphone5手機,微信中無法打開優(yōu)酷鏈接?3. javascript - 為什么嵌套的Promise不能按預期捕獲Exception?4. javascript - nodejs實現(xiàn)異步時遇到的一個問題5. 剛放到服務器的項目出現(xiàn)這中錯誤,有高手指點嗎6. apache - 想把之前寫的單機版 windows 軟件改成網(wǎng)絡版,讓每個用戶可以注冊并登錄。類似 qq 的登陸,怎么架設(shè)服務器呢?7. javascript - 編程,算法的問題8. css3 - Typecho 后臺部分表單按鈕在 Chrome 下出現(xiàn)靈異動畫問題,求解決9. python 操作mysql如何經(jīng)量防止自己的程序在之后被惡意注入(說白了就是問一下python防注入的一些要點)10. css - 手機qq打開網(wǎng)頁無法使用文件上傳功能?
