1999-06-14 21:47:47 +02:00
|
|
|
\section{\module{linecache} ---
|
1999-06-17 18:38:18 +02:00
|
|
|
Random access to text lines}
|
1999-06-14 21:47:47 +02:00
|
|
|
|
|
|
|
\declaremodule{standard}{linecache}
|
|
|
|
\sectionauthor{Moshe Zadka}{mzadka@geocities.com}
|
1999-06-17 18:38:18 +02:00
|
|
|
\modulesynopsis{This module provides random access to individual lines
|
|
|
|
from text files.}
|
1999-06-14 21:47:47 +02:00
|
|
|
|
|
|
|
|
|
|
|
The \module{linecache} module allows one to get any line from any file,
|
|
|
|
while attempting to optimize internally, using a cache, the common case
|
1999-06-17 18:38:18 +02:00
|
|
|
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.
|
1999-06-14 21:47:47 +02:00
|
|
|
|
|
|
|
The \module{linecache} module defines the following functions:
|
|
|
|
|
|
|
|
\begin{funcdesc}{getline}{filename, lineno}
|
|
|
|
Get line \var{lineno} from file named \var{filename}. This function
|
2000-04-03 22:13:55 +02:00
|
|
|
will never throw an exception --- it will return \code{''} on errors
|
|
|
|
(the terminating newline character will be included for lines that are
|
|
|
|
found).
|
1999-06-14 21:47:47 +02:00
|
|
|
|
|
|
|
If a file named \var{filename} is not found, the function will look
|
1999-06-17 18:38:18 +02:00
|
|
|
for it in the module\indexiii{module}{search}{path} search path,
|
|
|
|
\code{sys.path}.
|
1999-06-14 21:47:47 +02:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{clearcache}{}
|
2000-04-03 22:13:55 +02:00
|
|
|
Clear the cache. Use this function if you no longer need lines from
|
|
|
|
files previously read using \function{getline()}.
|
1999-06-14 21:47:47 +02:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{checkcache}{}
|
1999-06-17 18:38:18 +02:00
|
|
|
Check the cache for validity. Use this function if files in the cache
|
|
|
|
may have changed on disk, and you require the updated version.
|
1999-06-14 21:47:47 +02:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
\begin{verbatim}
|
|
|
|
>>> import linecache
|
|
|
|
>>> linecache.getline('/etc/passwd', 4)
|
|
|
|
'sys:x:3:3:sys:/dev:/bin/sh\012'
|
|
|
|
\end{verbatim}
|