关闭 Python 对象使用的 psycopg2 连接的首选方法是什么?
What's the preferred way to close a psycopg2 connection used by Python object?
我在 Python class 的 __init__
方法中创建了一个数据库连接,并希望确保连接在对象销毁时关闭。
看起来我可以在 __del__()
中执行此操作,或者使 class 成为上下文管理器并在 __exit__()
中关闭连接。不知道哪个更Pythonic.
It looks like I can do this in __del__()
or make the class a context manager and close the connection in __exit__()
. I wonder which one is more Pythonic.
我不会评论更多 "pythonic",因为这是一个 高度 主观问题。
然而,Python 并没有对何时调用析构函数做出非常严格的保证,使得上下文/__exit__
接近正确的位置。
我在 Python class 的 __init__
方法中创建了一个数据库连接,并希望确保连接在对象销毁时关闭。
看起来我可以在 __del__()
中执行此操作,或者使 class 成为上下文管理器并在 __exit__()
中关闭连接。不知道哪个更Pythonic.
It looks like I can do this in
__del__()
or make the class a context manager and close the connection in__exit__()
. I wonder which one is more Pythonic.
我不会评论更多 "pythonic",因为这是一个 高度 主观问题。
然而,Python 并没有对何时调用析构函数做出非常严格的保证,使得上下文/__exit__
接近正确的位置。