python - weakly-referenced object no longer exists? 數據庫連接關閉問題
問題描述
#! 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()
數據庫連接也成功了,但是執行完該類后就會報錯:
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:好吧,自己答一下。并不知道是什么原因導致的錯誤,等以后水平高點再來回答。暫時解決辦法:
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()報的錯,說明你沒連接上
相關文章:
1. android - 安卓做前端,PHP做后臺服務器 有什么需要注意的?2. docker不顯示端口映射呢?3. mysql - 我用SQL語句 更新 行的時候,發現全部 中文都被清空了,請問怎么解決?4. python - 子進程執行完成為僵尸進程,怎么解決5. python - xpath提取網頁路徑沒問題,但是缺失內容?6. javascript - 求教各位,本地HTML頁面怎么在DIV中嵌套服務器上的頁面內容?不用iframe。7. python-mysql Commands out of sync8. java中返回一個對象,和輸出對像的值,意義在哪兒9. javascript - 給某個類添加一個偽類,這個類有click事件,現在我點擊偽類也觸發了click事件10. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?
