Python では、with キーワードは実装コンテキスト プロトコル オブジェクトを管理するのに役立ちます。例: ファイルなど。例は次のとおりです:
from __future__ import with_statement with open('cardlog.txt','r') as item : for line in item : print line;
ファイルの終わりでは、ファイル ハンドルは自動的に閉じられます。
python2.6ではwithが正式にキーワード
になりました
したがって、Python2.5 より前では、with を使用したい場合は、次のようにする必要があります:
from __future__ import with_statement
その原理は次のとおりです:
コンテキスト プロトコルを実装するすべてのオブジェクトには、次の 3 つのメソッドが含まれています:
__context__() 自己管理のコンテキスト オブジェクト、または実際のコンテキスト マネージャーを返します
__enter()__ コンテキストマネージャーに入り、反復を開始します
with ステートメントが終了すると、正常に終了するか例外がスローされるかにかかわらず、このメソッドが実行されてリソース接続が閉じられます。