以下は架空のコードです
with dbengine.connect(**details) as db:
cur = db.exec(sql_string)
results = cur.fetchall()
return results
この場合、ブロック db.close() が呼び出され、db がガベージ コレクションの対象としてマークされることを期待します。
仕事で、このコードが発生するのを見始めました。
with something() as myobj:
logger.info('I got an obj!')
return myobj
Javaのnewキーワードのように使用する必要があるかどうかはわかりません。with を使用するときにできる/できない/すべきでないことを説明する良いドキュメントを教えてもらえますか?
PSログメッセージは実際にはそれほど不自由です:-)