python - weakly-referenced object no longer exists? 数据库连接关闭问题
PHP中文网
PHP中文网 2017-04-18 10:23:32
0
2
1428
#! python3
import mysql.connector
class 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 "*****\Python35\lib\site-packages\mysql\connector\cursor.py", line 344, in close
ReferenceError: weakly-referenced object no longer exists

还请知道什么原因的司机解惑!万分感谢!
按stackoverflow上的方案就是我写的这样,但是还是有问题,难道是我的翻译软件有问题?

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(2)
伊谢尔伦

그렇습니다. 직접 대답해 보세요. 오류의 원인이 무엇인지 모르겠습니다. 나중에 레벨이 높아지면 답변해 드리겠습니다. 임시 해결책:

으아악

보충:
__del__()에서는 커서를 닫을 수 없는 것으로 나타났습니다.

刘奇

구성이 잘못되어 mysql에 연결되지 않았을 수 있습니다
이 코드 self.cur = self.conn.cursor()에서 오류가 보고되면 연결되지 않은 것입니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿