10.9. linecache —テキスト行へのランダムアクセス—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/2.7/library/linecache
移動先:案内検索

10.9。 linecache —テキスト行へのランダムアクセス

ソースコード: :source: `Lib / linecache.py`



linecache モジュールを使用すると、キャッシュを使用して内部的に最適化を試みながら、任意のファイルから任意の行を取得できます。これは、1つのファイルから多くの行が読み取られる一般的なケースです。 これは、 traceback モジュールによって使用され、フォーマットされたトレースバックに含めるソース行を取得します。

linecache モジュールは、次の関数を定義します。

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

filename という名前のファイルから行 lineno を取得します。 この関数は例外を発生させることはありません—エラー時にを返します(見つかった行には終了改行文字が含まれます)。

filename という名前のファイルが見つからない場合、関数は最初に PEP 302をチェックした後、モジュール検索パスsys.pathでそのファイルを検索します。モジュールがzipファイルまたはその他のファイルシステム以外のインポートソースからインポートされた場合は、 module_globals __loader__

バージョン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'