什么是关闭Python对象使用的psycopg2连接的首选方法?

时间:2015-10-23 15:46:15

标签: python database-connection psycopg2

我在Python类的__init__方法中创建数据库连接,并希望确保在对象销毁时关闭连接。
看起来我可以在__del__()中执行此操作,或者使类成为上下文管理器并关闭__exit__()中的连接。我想知道哪一个更像Pythonic。

1 个答案:

答案 0 :(得分:1)

  

看起来我可以在__del__()中执行此操作,或者将该类设置为上下文管理器并关闭__exit__()中的连接。我想知道哪一个更像Pythonic。

我不会评论更多" pythonic",因为那是一个高度主观问题。

然而,Python并没有对何时调用析构函数做出非常严格的保证,使得context / __exit__在这里接近正确。