\section{\module{dircache} ---
         キャッシュされたディレクトリ一覧の生成}

\declaremodule{standard}{dircache}
\sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il}
\modulesynopsis{キャッシュメカニズムを備えたディレクトリ一覧生成。}

\module{durcache} モジュールはキャッシュされた情報を使って
ディレクトリ一覧を読み出すための関数を定義しています。
キャッシュはディレクトリの \var{mtime} に応じて無効化されます。
さらに、一覧中のディレクトリにスラッシュ ('/') を追加することで
ディレクトリであると分かるようにするための関数も定義しています。


\module{dircache} モジュールは以下の関数を定義しています:

\begin{funcdesc}{reset}{}
ディレクトリキャッシュをリセットします。
\end{funcdesc}

\begin{funcdesc}{listdir}{path}
\function{os.listdir()} によって得た \var{path} のディレクトリ一覧を
返します。\var{path} を変えない限り、以降の \function{listdir()} 
を呼び出してもディレクトリ構造を読み込みなおすことはしないので
注意してください。

返されるリストは読み出し専用であると見なされるので注意してください
(おそらく将来のバージョンではタプルを返すように変更されるはず ? です)。
\end{funcdesc}

\begin{funcdesc}{opendir}{path}
\function{listdir()} と同じです。以前のバージョンとの互換性のために
定義されています。
\end{funcdesc}

\begin{funcdesc}{annotate}{head, list}
\var{list} を \var{head} の相対パスからなるリストとして、
各パスがディレクトリを指す場合には \character{/} をパス名の後ろ
に追加したものに置き換えます。
\end{funcdesc}

\begin{verbatim}
>>> import dircache
>>> a = dircache.listdir('/')
>>> a = a[:] # Copy the return value so we can change 'a'
>>> a
['bin', 'boot', 'cdrom', 'dev', 'etc', 'floppy', 'home', 'initrd', 'lib', 'lost+
found', 'mnt', 'proc', 'root', 'sbin', 'tmp', 'usr', 'var', 'vmlinuz']
>>> dircache.annotate('/', a)
>>> a
['bin/', 'boot/', 'cdrom/', 'dev/', 'etc/', 'floppy/', 'home/', 'initrd/', 'lib/
', 'lost+found/', 'mnt/', 'proc/', 'root/', 'sbin/', 'tmp/', 'usr/', 'var/', 'vm
linuz']
\end{verbatim}
