10.9. "linecache" — Random access to text lines *********************************************** **Source code:** 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]) 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). If a file named *filename* is not found, the function will look for it in the module search path, "sys.path", after first checking for a **PEP 302** "__loader__" in *module_globals*, in case the module was imported from a zipfile or other non-filesystem import source. New in version 2.5: The *module_globals* parameter was added. linecache.clearcache() Clear the cache. Use this function if you no longer need lines from files previously read using "getline()". linecache.checkcache([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 *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'