你是否必须在python3中的一个函数中显式关闭mysql(pymysql)连接,或者你可以让python3在它超出范围时自动处理它。
答案 0 :(得分:2)
如果某个对象超出范围,并不意味着Python会在其上调用.close()
。 pymysql
确实在连接对象(source)的__del__
方法中进行了一些清理(关闭套接字),但我不会依赖它 - 特别是因为它只关闭套接字并且不与MySQL通信正在关闭连接(这是.close()
所做的)。
因此,最好明确并自己关闭连接。这也意味着您确切知道连接何时关闭。