sqlite
データベース接続やファイルなどのリソースをラップするクラスがあるwith
場合、オブジェクトがスコープ外になったときや gcollected になったときにステートメントを使用してリソースを閉じる方法はありますか?
私が言いたいことを明確にするために、これを避けたい:
class x:
def __init__(self):
# open resource
def close(self): # or __del__, even worst
# close resource
ただし、次のようにリソースが常に解放されるようにします。
with open('foo') as f:
# use resource