10.9. "linecache" --- テキストラインにランダムアクセスする
**********************************************************

**ソースコード:** Lib/linecache.py

======================================================================

"linecache" モジュールは、キャッシュ (一つのファイルから何行も読んでお
くのが一般的です) を使って、内部で最適化を図りつつ、任意のファイルの任
意の行を取得するのを可能にします。 "traceback" モジュールは、整形され
たトレースバックにソースコードを含めるためにこのモジュールを利用してい
ます。

"linecache" モジュールでは次の関数が定義されています:

linecache.getline(filename, lineno[, module_globals])

   *filename* という名前のファイルから *lineno* 行目を取得します。この
   関数は決して例外を発生させません --- エラーの際には "''" を返します
   (行末の改行文字は、見つかった行に含まれます)。

   *filename* という名前のファイルが見つからなかった場合、モジュールの
   、つまり、 "sys.path" でそのファイルを探します。 zipfileやその他の
   ファイルシステムでないimport元に対応するためまず *module_globals*
   の **PEP 302** "__loader__" をチェックし、そのあと "sys.path" を探
   索します。

   バージョン 2.5 で追加: パラメータ *module_globals* の追加.

linecache.clearcache()

   キャッシュをクリアします。それまでに "getline()" を使って読み込んだ
   ファイルの行が必要でなくなったら、この関数を使ってください。

linecache.checkcache([filename])

   キャッシュが有効かチェックします。キャッシュしたファイルにディスク
   上で変更があったかもしれなくて、更新が必要なときにこの関数を使って
   ください。もし *filename* がなければ、全てのキャッシュエントリをチ
   ェックします。

例:

   >>> import linecache
   >>> linecache.getline('/etc/passwd', 4)
   'sys:x:3:3:sys:/dev:/bin/sh\n'
