9. linecache
— Random access to text lines¶
Source code: :source:`Lib/linecache.py`
The 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 traceback
module
to retrieve source lines for inclusion in the formatted traceback.
The linecache
module defines the following functions:
-
linecache.
getline
(filename, lineno[, module_globals])[source]¶ Get line lineno from file named filename. This function will never raise an exception — it will return
''
on errors (the terminating newline character will be included for lines that are found).
-
linecache.
clearcache
()[source]¶ Clear the cache. Use this function if you no longer need lines from files previously read using
getline()
.
-
linecache.
checkcache
([filename])[source]¶ 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 filename is omitted, it will check all the entries in the cache.
Example:
>>> import linecache
>>> linecache.getline('/etc/passwd', 4)
'sys:x:3:3:sys:/dev:/bin/sh\n'