ref: 2fe3b28f86ed4aa291fb8a620b948abe9c6a1f84
dir: /sys/src/cmd/python/Doc/lib/liblinecache.tex/
\section{\module{linecache} --- Random access to text lines} \declaremodule{standard}{linecache} \sectionauthor{Moshe Zadka}{[email protected]} \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}