\section{\module{linecache} ---
         Random access to text lines}

\declaremodule{standard}{linecache}
\sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il}
\modulesynopsis{This module provides random access to individual lines
                from text files.}


The \module{linecache} module allows one to get any line from any file,
while attempting to optimize internally, using a cache, the common case
where many lines are read from a single file.  This is used by the
\refmodule{traceback} module to retrieve source lines for inclusion in 
the formatted traceback.

The \module{linecache} module defines the following functions:

\begin{funcdesc}{getline}{filename, lineno}
Get line \var{lineno} from file named \var{filename}. This function
will never throw an exception --- it will return \code{''} on errors
(the terminating newline character will be included for lines that are
found).

If a file named \var{filename} is not found, the function will look
for it in the module\indexiii{module}{search}{path} search path,
\code{sys.path}.
\end{funcdesc}

\begin{funcdesc}{clearcache}{}
Clear the cache.  Use this function if you no longer need lines from
files previously read using \function{getline()}.
\end{funcdesc}

\begin{funcdesc}{checkcache}{}
Check the cache for validity.  Use this function if files in the cache 
may have changed on disk, and you require the updated version.
\end{funcdesc}

Example:

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