\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 casewhere 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\optional{, module_globals}}Get line \var{lineno} from file named \var{filename}. This functionwill never throw an exception --- it will return \code{''} on errors(the terminating newline character will be included for lines that arefound).If a file named \var{filename} is not found, the function will lookfor it in the module\indexiii{module}{search}{path} search path,\code{sys.path}, after first checking for a \pep{302} \code{__loader__}in \var{module_globals}, in case the module was imported from a zipfileor other non-filesystem import source. \versionadded[The \var{module_globals} parameter was added]{2.5}\end{funcdesc}\begin{funcdesc}{clearcache}{}Clear the cache. Use this function if you no longer need lines fromfiles previously read using \function{getline()}.\end{funcdesc}\begin{funcdesc}{checkcache}{\optional{filename}}Check the cache for validity. Use this function if files in the cache may have changed on disk, and you require the updated version. If\var{filename} is omitted, it will check all the entries in the cache.\end{funcdesc}Example:\begin{verbatim}>>> import linecache>>> linecache.getline('/etc/passwd', 4)'sys:x:3:3:sys:/dev:/bin/sh\n'\end{verbatim}
\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\optional{, module_globals}}
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}, after first checking for a \pep{302} \code{__loader__}
in \var{module_globals}, in case the module was imported from a zipfile
or other non-filesystem import source.
\versionadded[The \var{module_globals} parameter was added]{2.5}
\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}{\optional{filename}}
Check the cache for validity. Use this function if files in the cache
may have changed on disk, and you require the updated version. If
\var{filename} is omitted, it will check all the entries in the cache.
\end{funcdesc}
Example:
\begin{verbatim}
>>> import linecache
>>> linecache.getline('/etc/passwd', 4)
'sys:x:3:3:sys:/dev:/bin/sh\n'
\end{verbatim}