"with"文のファイルI/O以外の使い方


Pythonのwith文はファイルI/Oに関してよく見かけますが，それ以外に使い方があるのでしょうか？`with open('myfile') as
f:`以外で，with文を使うべき，または使っているのを見かけた例は何かありますか？




後処理しないとリソースの残る物であればなんでも良いのではないでしょうか。  
python2.7 の標準添付ライブラリを軽く調べてみた感じ

  * unit テストライブラリの開始と終了をハンドリングしている (unittest)
  * プロセスの管理、およびプロセス間通信の同期をハンドリングしている (multiprocessing)

で使っている様です。実際には `__enter__` と `__exit__`
が宣言されていればユーザ定義オブジェクトでも使用出来るので、個人的にはどんどん使っていったら良いと思います。

