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:
Get line lineno from file named filename. This function
will never throw an exception -- it will return '' on errors
(the terminating newline character will be included for lines that are
found).
If a file named filename is not found, the function will look
for it in the modulesearch path,
sys.path.