\section{\module{linecache} --- Random access to text lines} \declaremodule{standard}{linecache} \sectionauthor{Moshe Zadka}{mzadka@geocities.com} \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\012' \end{verbatim}