成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

python - weakly-referenced object no longer exists? 數(shù)據(jù)庫連接關(guān)閉問題

瀏覽:137日期:2022-09-07 11:53:49

問題描述

#! 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

還請知道什么原因的司機(jī)解惑!萬分感謝!按stackoverflow上的方案就是我寫的這樣,但是還是有問題,難道是我的翻譯軟件有問題?

問題解答

回答1:

好吧,自己答一下。并不知道是什么原因?qū)е碌腻e誤,等以后水平高點(diǎn)再來回答。暫時解決辦法:

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()

補(bǔ)充:事實(shí)證明,不能在__del__()里面close游標(biāo)

回答2:

可能是你配置寫錯了,沒連接上mysql如果是這句代碼self.cur = self.conn.cursor()報的錯,說明你沒連接上

標(biāo)簽: Python 編程
相關(guān)文章: